home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / NETSCAP.50 / WIN1998.ZIP / ns / include / fullsoft.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-04-08  |  5.2 KB  |  223 lines

  1. /*--------------------------------------------------------------------
  2.  *  fullsoft.h
  3.  *
  4.  *  Created: 10/15/97
  5.  *  Author:  Matt Kendall
  6.  *
  7.  *  Copyright (C) 1997-98, Full Circle Software, Inc., All Rights Reserved
  8.  *
  9.  *  Full Circle "Spiral" Application API Definition
  10.  *  - mkk 1/19/98 renamed from "spiral.h" to "fullsoft.h"
  11.  *
  12.  *--------------------------------------------------------------------*/
  13. #if !defined(__FULLSOFT_H)
  14. #define __FULLSOFT_H
  15.  
  16. /* define NO_FC_API to disable all calls to the Full Circle library */
  17. /* define FC_TRACE to enable the Full Circle TRACE macro */
  18. /* define FC_ASSERT to enable the Full Circle ASSERT macro */
  19. /* define FC_TRACE_PARAM to enable the Full Circle TRACE_PARAM macro */
  20. /* define FC_ASSERT_PARAM to enable the Full Circle TRACE_PARAM macro */
  21.  
  22. #if !defined(FAR)
  23. #define FAR
  24. #endif /* !FAR */
  25.  
  26. #if !defined(FCAPI)
  27. #define FCAPI
  28. #endif /* defined FCAPI */
  29.  
  30.  
  31. typedef const char FAR *      FC_KEY ;
  32. typedef const char FAR *      FC_TRIGGER ;
  33. typedef unsigned long         FC_DATE ;
  34. typedef unsigned long         FC_UINT32 ;
  35. typedef       void FAR *      FC_PVOID ;
  36. typedef const char FAR *      FC_STRING ;
  37. typedef       void FAR *      FC_CONTEXT ;
  38.  
  39. #define                       FC_CONTEXT_NONE   ((FC_CONTEXT) -1)
  40.  
  41. typedef enum {
  42.     FC_DATA_TYPE_BINARY,
  43.     FC_DATA_TYPE_STRING,
  44.     FC_DATA_TYPE_INTEGER,
  45.     FC_DATA_TYPE_DATE,
  46.     FC_DATA_TYPE_COUNTER
  47. } FC_DATA_TYPE ;
  48.  
  49. typedef enum {
  50.     FC_ERROR_OK = 0,
  51.     FC_ERROR_CANT_INITIALIZE,
  52.     FC_ERROR_NOT_INITIALIZED,
  53.     FC_ERROR_ALREADY_INITIALIZED,
  54.     FC_ERROR_FAILED,
  55.     FC_ERROR_OUT_OF_MEMORY,
  56.     FC_ERROR_INVALID_PARAMETER
  57. } FC_ERROR ;
  58.  
  59. #if defined(__cplusplus)
  60. extern "C" {
  61. #endif /* __cplusplus */
  62.  
  63. /* define NO_FC_API to disable all calls to the Full Circle library */
  64.     
  65. #if !defined(NO_FC_API)
  66.  
  67. FC_ERROR FCAPI
  68. FCInitialize( void ) ;
  69.  
  70. FC_ERROR FCAPI
  71. FCCreateKey(
  72.     FC_KEY key,
  73.     FC_DATA_TYPE type,
  74.     FC_UINT32 first_count,
  75.     FC_UINT32 last_count,
  76.     FC_UINT32 max_element_size) ;
  77.  
  78. FC_ERROR FCAPI
  79. FCCreatePersistentKey(
  80.     FC_KEY key,
  81.     FC_DATA_TYPE type,
  82.     FC_UINT32 first_count,
  83.     FC_UINT32 last_count,
  84.     FC_UINT32 max_element_size) ;
  85.  
  86. FC_ERROR FCAPI
  87. FCAddDataToKey(
  88.     FC_KEY key,
  89.     FC_PVOID buffer,
  90.     FC_UINT32 data_length) ;
  91.  
  92. FC_ERROR FCAPI
  93. FCAddIntToKey(
  94.     FC_KEY key,
  95.     FC_UINT32 data) ;
  96.  
  97. FC_ERROR FCAPI
  98. FCAddStringToKey(
  99.     FC_KEY key,
  100.     FC_STRING string) ;
  101.  
  102. FC_ERROR FCAPI
  103. FCAddDateToKey(
  104.     FC_KEY key,
  105.     FC_DATE date) ;
  106.  
  107. FC_ERROR FCAPI
  108. FCSetCounter(
  109.     FC_KEY key,
  110.     FC_UINT32 value) ;
  111.  
  112. FC_ERROR FCAPI
  113. FCIncrementCounter(
  114.     FC_KEY key,
  115.     FC_UINT32 value) ;
  116.  
  117. FC_ERROR FCAPI
  118. FCRegisterMemory(
  119.     FC_KEY key,
  120.     FC_DATA_TYPE type,
  121.     FC_PVOID buffer,
  122.     FC_UINT32 length,
  123.     FC_UINT32 dereference_count,
  124.     FC_CONTEXT context) ;
  125.  
  126. FC_ERROR FCAPI
  127. FCUnregisterMemory( FC_CONTEXT context ) ;
  128.  
  129. FC_ERROR FCAPI
  130. FCTrigger( FC_TRIGGER trigger ) ;
  131.  
  132. void FCAPI
  133. FCTrace(FC_STRING fmt, ... ) ;
  134.  
  135. void FCAPI
  136. FCAssert() ;
  137.  
  138. void FCAPI
  139. FCTraceParam(
  140.     FC_UINT32 track,
  141.     FC_UINT32 level,
  142.     FC_STRING fmt,
  143.     ... ) ;
  144.  
  145. void FCAPI
  146. FCAssertParam(
  147.     FC_UINT32 track,
  148.     FC_UINT32 level ) ;
  149.  
  150. #if defined(FC_ASSERT)
  151. #if defined(ASSERT)
  152. #undef ASSERT
  153. #endif /* defined ASSERT */
  154. #define ASSERT(a) { if( !(a) ) FCAssert() ; }
  155. #endif /* FC_ASSERT */
  156.  
  157. #if defined(FC_TRACE)
  158. #if defined(TRACE)
  159. #undef TRACE
  160. #endif /* defined TRACE */
  161. #define TRACE FCTrace
  162. #endif /* FC_TRACE */
  163.  
  164. #if defined(FC_ASSERT_PARAM)
  165. #if defined(ASSERT_PARAM)
  166. #undef ASSERT_PARAM
  167. #endif /* defined ASSERT_PARAM */
  168. #define ASSERT_PARAM(a,b,c) { if ( !(c) ) FCAssertParam(a,b) ; }
  169. #endif /* FC_ASSERT_PARAM */
  170.  
  171. #if defined(FC_TRACE_PARAM)
  172. #if defined(TRACE_PARAM)
  173. #undef TRACE_PARAM
  174. #endif /* defined TRACE_PARAM */
  175. #define TRACE_PARAM FCTraceParam
  176. #endif /* FC_TRACE_PARAM */
  177.  
  178. #else /* NO_FC_API */
  179.  
  180. #define FCInitialize()                      FC_ERROR_OK
  181. #define FCCreateKey(a,b,c,d,e)              FC_ERROR_OK
  182. #define FCCreatePersistentKey(a,b,c,d,e)    FC_ERROR_OK 
  183. #define FCAddDataToKey(a,b,c)               FC_ERROR_OK 
  184. #define FCAddIntToKey(a,b)                  FC_ERROR_OK 
  185. #define FCAddStringToKey(a,b)               FC_ERROR_OK
  186. #define FCAddDateToKey(a,b)                 FC_ERROR_OK
  187. #define FCRegisterMemory(a,b,c,d,e,f)       FC_ERROR_OK
  188. #define FCUnregisterMemory(a)               FC_ERROR_OK
  189. #define FCTrigger(a)                        FC_ERROR_OK
  190. #define FCSetCounter(a,b)                   FC_ERROR_OK
  191. #define FCIncrementCounter(a,b)             FC_ERROR_OK
  192.  
  193. #if defined(FC_ASSERT)
  194. #define ASSERT(f)    ((void)0)
  195. #endif /* FC_ASSERT */
  196.  
  197. #if defined(FC_TRACE)
  198. void FCAPI FCTrace(FC_STRING fmt,...) ;
  199. #define TRACE 1 ? (void)0 : FCTrace
  200. #endif /* FC_TRACE */
  201.  
  202. #if defined(FC_ASSERT_PARAM)
  203. #define ASSERT_PARAM(a,b,c)    ((void)0)
  204. #endif /* FC_ASSERT_PARAM */
  205.  
  206. #if defined(FC_TRACE_PARAM)
  207. void FCAPI FCTraceParam(
  208.     FC_UINT32 track,
  209.     FC_UINT32 level,
  210.     FC_STRING fmt,
  211.     ... ) ;
  212.  
  213. #define TRACE_PARAM 1 ? (void) 0 : FCTraceParam
  214. #endif /* FC_TRACE_PARAM */
  215.  
  216. #endif /* NO_FC_API */
  217.  
  218. #if defined(__cplusplus)
  219. }
  220. #endif /* __cplusplus */
  221.  
  222. #endif /* __FULLSOFT_H */
  223.