mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-28 11:28:38 +00:00
223 lines
4.9 KiB
C
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 */
|