home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 December
/
Chip_2000-12_cd1.bin
/
tema
/
starof
/
f_0355
/
addin.h
next >
Wrap
C/C++ Source or Header
|
1999-08-10
|
3KB
|
142 lines
/*------------------------------------------------------------------------
$Workfile: ADDIN.H $
$Header: /cvs/Archiv/sc/addin/inc/addin.h,v 1.5 1999/08/10 12:49:52 NN Exp $
Description: StarCalc AddIn general header definitions
(c) Copyright 1998 - 2000, Sun Microsystems, Inc.
------------------------------------------------------------------------*/
#ifndef _ADDIN_H
#define _ADDIN_H
#ifndef _SOLAR_H
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#undef NULL
#define NULL 0
typedef unsigned char BOOL;
typedef unsigned char BYTE;
typedef unsigned short USHORT;
typedef unsigned long ULONG;
#endif
#ifndef SUPD
/* enable all new interface features */
#define SUPD 9999
#endif
/* all character string returns are limited to 255+1 chars */
#define SO_CHARSTRING_MAX 256
#define SO_StringCopy( dst, src ) \
(strncpy( dst, src, SO_CHARSTRING_MAX ), dst[SO_CHARSTRING_MAX-1] = '\0')
typedef enum
{
PTR_DOUBLE,
PTR_STRING,
PTR_DOUBLE_ARR,
PTR_STRING_ARR,
PTR_CELL_ARR,
NONE
} ParamType;
#ifndef WIN
#ifdef WNT
#define CALLTYPE __cdecl
#else
#define CALLTYPE
#endif
#else
#define PASCAL _pascal
#define FAR _far
#define CALLTYPE FAR PASCAL
#endif
#ifdef __cplusplus
extern "C" {
typedef void (CALLTYPE* AdvData)( double& nHandle, void* pData );
extern void CALLTYPE GetFunctionCount( USHORT& nCount );
extern void CALLTYPE GetFunctionData( USHORT& nNo,
char* pFuncName,
USHORT& nParamCount,
ParamType* peType,
char* pInternalName );
extern void CALLTYPE IsAsync( USHORT& nNo, ParamType* peType );
extern void CALLTYPE Advice( USHORT& nNo, AdvData& pfCallback );
extern void CALLTYPE Unadvice( double& nHandle );
#if (SUPD>=398)
/* new in StarOffice 5.0 */
extern void CALLTYPE GetParameterDescription( USHORT& nNo, USHORT& nParam,
char* pName, char* pDesc );
#endif
#if (SUPD>=506)
/* new in StarOffice 5.1 */
extern void CALLTYPE SetLanguage( USHORT& nLanguage );
#endif
};
#else
typedef void (CALLTYPE* AdvData)( double* nHandle, void* pData );
extern void CALLTYPE GetFunctionCount( USHORT * nCount );
extern void CALLTYPE GetFunctionData( USHORT * nNo,
char * pFuncName,
USHORT * nParamCount,
ParamType * peType,
char * pInternalName );
extern void CALLTYPE IsAsync( USHORT * nNo, ParamType * peType );
extern void CALLTYPE Advice( USHORT * nNo, AdvData * pfCallback );
extern void CALLTYPE Unadvice( double * nHandle );
#if (SUPD>=398)
/* new in StarOffice 5.0 */
extern void CALLTYPE GetParameterDescription( USHORT* nNo, USHORT* nParam,
char* pName, char* pDesc );
#endif
#if (SUPD>=506)
/* new in StarOffice 5.1 */
extern void CALLTYPE SetLanguage( USHORT* nLanguage );
#endif
#endif
#endif