gecko-dev/include/fullsoft.h
1998-03-28 02:44:41 +00:00

223 lines
4.9 KiB
C

/*--------------------------------------------------------------------
* fullsoft.h
*
* Created: 10/15/97
* Author: Matt Kendall
*
* Copyright (C) 1997-98, Full Circle Software, Inc., All Rights Reserved
*
* Full Circle "Spiral" Application API Definition
* - mkk 1/19/98 renamed from "spiral.h" to "fullsoft.h"
*
*--------------------------------------------------------------------*/
#if !defined(__FULLSOFT_H)
#define __FULLSOFT_H
/* define NO_FC_API to disable all calls to the Full Circle library */
/* define FC_TRACE to enable the Full Circle TRACE macro */
/* define FC_ASSERT to enable the Full Circle ASSERT macro */
/* define FC_TRACE_PARAM to enable the Full Circle TRACE_PARAM macro */
/* define FC_ASSERT_PARAM to enable the Full Circle TRACE_PARAM macro */
#if !defined(FAR)
#define FAR
#endif /* !FAR */
#if !defined(FCAPI)
#define FCAPI
#endif /* defined FCAPI */
typedef const char FAR * FC_KEY ;
typedef const char FAR * FC_TRIGGER ;
typedef unsigned long FC_DATE ;
typedef unsigned long FC_UINT32 ;
typedef void FAR * FC_PVOID ;
typedef const char FAR * FC_STRING ;
typedef void FAR * FC_CONTEXT ;
#define FC_CONTEXT_NONE ((FC_CONTEXT) -1)
typedef enum {
FC_DATA_TYPE_BINARY,
FC_DATA_TYPE_STRING,
FC_DATA_TYPE_INTEGER,
FC_DATA_TYPE_DATE,
FC_DATA_TYPE_COUNTER
} FC_DATA_TYPE ;
typedef enum {
FC_ERROR_OK = 0,
FC_ERROR_CANT_INITIALIZE,
FC_ERROR_NOT_INITIALIZED,
FC_ERROR_ALREADY_INITIALIZED,
FC_ERROR_FAILED,
FC_ERROR_OUT_OF_MEMORY,
FC_ERROR_INVALID_PARAMETER
} FC_ERROR ;
#if defined(__cplusplus)
extern "C" {
#endif /* __cplusplus */
/* define NO_FC_API to disable all calls to the Full Circle library */
#if !defined(NO_FC_API)
FC_ERROR FCAPI
FCInitialize( void ) ;
FC_ERROR FCAPI
FCCreateKey(
FC_KEY key,
FC_DATA_TYPE type,
FC_UINT32 first_count,
FC_UINT32 last_count,
FC_UINT32 max_element_size) ;
FC_ERROR FCAPI
FCCreatePersistentKey(
FC_KEY key,
FC_DATA_TYPE type,
FC_UINT32 first_count,
FC_UINT32 last_count,
FC_UINT32 max_element_size) ;
FC_ERROR FCAPI
FCAddDataToKey(
FC_KEY key,
FC_PVOID buffer,
FC_UINT32 data_length) ;
FC_ERROR FCAPI
FCAddIntToKey(
FC_KEY key,
FC_UINT32 data) ;
FC_ERROR FCAPI
FCAddStringToKey(
FC_KEY key,
FC_STRING string) ;
FC_ERROR FCAPI
FCAddDateToKey(
FC_KEY key,
FC_DATE date) ;
FC_ERROR FCAPI
FCSetCounter(
FC_KEY key,
FC_UINT32 value) ;
FC_ERROR FCAPI
FCIncrementCounter(
FC_KEY key,
FC_UINT32 value) ;
FC_ERROR FCAPI
FCRegisterMemory(
FC_KEY key,
FC_DATA_TYPE type,
FC_PVOID buffer,
FC_UINT32 length,
FC_UINT32 dereference_count,
FC_CONTEXT context) ;
FC_ERROR FCAPI
FCUnregisterMemory( FC_CONTEXT context ) ;
FC_ERROR FCAPI
FCTrigger( FC_TRIGGER trigger ) ;
void FCAPI
FCTrace(FC_STRING fmt, ... ) ;
void FCAPI
FCAssert() ;
void FCAPI
FCTraceParam(
FC_UINT32 track,
FC_UINT32 level,
FC_STRING fmt,
... ) ;
void FCAPI
FCAssertParam(
FC_UINT32 track,
FC_UINT32 level ) ;
#if defined(FC_ASSERT)
#if defined(ASSERT)
#undef ASSERT
#endif /* defined ASSERT */
#define ASSERT(a) { if( !(a) ) FCAssert() ; }
#endif /* FC_ASSERT */
#if defined(FC_TRACE)
#if defined(TRACE)
#undef TRACE
#endif /* defined TRACE */
#define TRACE FCTrace
#endif /* FC_TRACE */
#if defined(FC_ASSERT_PARAM)
#if defined(ASSERT_PARAM)
#undef ASSERT_PARAM
#endif /* defined ASSERT_PARAM */
#define ASSERT_PARAM(a,b,c) { if ( !(c) ) FCAssertParam(a,b) ; }
#endif /* FC_ASSERT_PARAM */
#if defined(FC_TRACE_PARAM)
#if defined(TRACE_PARAM)
#undef TRACE_PARAM
#endif /* defined TRACE_PARAM */
#define TRACE_PARAM FCTraceParam
#endif /* FC_TRACE_PARAM */
#else /* NO_FC_API */
#define FCInitialize() FC_ERROR_OK
#define FCCreateKey(a,b,c,d,e) FC_ERROR_OK
#define FCCreatePersistentKey(a,b,c,d,e) FC_ERROR_OK
#define FCAddDataToKey(a,b,c) FC_ERROR_OK
#define FCAddIntToKey(a,b) FC_ERROR_OK
#define FCAddStringToKey(a,b) FC_ERROR_OK
#define FCAddDateToKey(a,b) FC_ERROR_OK
#define FCRegisterMemory(a,b,c,d,e,f) FC_ERROR_OK
#define FCUnregisterMemory(a) FC_ERROR_OK
#define FCTrigger(a) FC_ERROR_OK
#define FCSetCounter(a,b) FC_ERROR_OK
#define FCIncrementCounter(a,b) FC_ERROR_OK
#if defined(FC_ASSERT)
#define ASSERT(f) ((void)0)
#endif /* FC_ASSERT */
#if defined(FC_TRACE)
void FCAPI FCTrace(FC_STRING fmt,...) ;
#define TRACE 1 ? (void)0 : FCTrace
#endif /* FC_TRACE */
#if defined(FC_ASSERT_PARAM)
#define ASSERT_PARAM(a,b,c) ((void)0)
#endif /* FC_ASSERT_PARAM */
#if defined(FC_TRACE_PARAM)
void FCAPI FCTraceParam(
FC_UINT32 track,
FC_UINT32 level,
FC_STRING fmt,
... ) ;
#define TRACE_PARAM 1 ? (void) 0 : FCTraceParam
#endif /* FC_TRACE_PARAM */
#endif /* NO_FC_API */
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __FULLSOFT_H */