* include/extend.api
* include/hbdefs.h
* include/hbapi.h
* include/clipdefs.h
* contrib/hbpost.hbm
* contrib/hbfimage/hbfimage.hbp
* config/rules.mk
- deleted HB_LEGACY_TYPES_OFF macro. it is the default
in post 3.0.x Harbour versions.
+ added HB_LEGACY_TYPES_ON macro. This should be used when
building C code which uses Clipper/Harbour legacy types
(f.e. LONG or BOOL).
It will stay until next stable version when all legacy
types will be permanently removed. This gives time for
3rd party developers to update code to use Harbour
(non-legacy) types in C code.
See '2009-11-01 11:35 UTC+0100 Viktor Szakats' ChangeLog
entry about non-legacy Harbour types.
135 lines
4.6 KiB
Plaintext
135 lines
4.6 KiB
Plaintext
/*
|
|
* $Id$
|
|
*/
|
|
|
|
/*
|
|
* Harbour Project source code:
|
|
* Compatibility header file for CA-Cl*pper Extend API
|
|
*
|
|
* Copyright 1999-2001 Viktor Szakats (harbour.01 syenar.hu)
|
|
* www - http://harbour-project.org
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2, or (at your option)
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this software; see the file COPYING. If not, write to
|
|
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
|
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
|
*
|
|
* As a special exception, the Harbour Project gives permission for
|
|
* additional uses of the text contained in its release of Harbour.
|
|
*
|
|
* The exception is that, if you link the Harbour libraries with other
|
|
* files to produce an executable, this does not by itself cause the
|
|
* resulting executable to be covered by the GNU General Public License.
|
|
* Your use of that executable is in no way restricted on account of
|
|
* linking the Harbour library code into it.
|
|
*
|
|
* This exception does not however invalidate any other reasons why
|
|
* the executable file might be covered by the GNU General Public License.
|
|
*
|
|
* This exception applies only to the code released by the Harbour
|
|
* Project under the name Harbour. If you copy code from other
|
|
* Harbour Project or Free Software Foundation releases into a copy of
|
|
* Harbour, as the General Public License permits, the exception does
|
|
* not apply to the code that you add in this way. To avoid misleading
|
|
* anyone as to the status of such modified files, you must delete
|
|
* this exception notice from them.
|
|
*
|
|
* If you write modifications of your own for Harbour, it is your choice
|
|
* whether to permit this exception to apply to your modifications.
|
|
* If you do not wish that, delete this exception notice.
|
|
*
|
|
*/
|
|
|
|
/* DON'T USE THIS FILE FOR NEW HARBOUR C CODE */
|
|
|
|
#ifndef _EXTEND_API
|
|
#define _EXTEND_API
|
|
|
|
#include "clipdefs.h"
|
|
#include "hbapi.h"
|
|
|
|
typedef PHB_ITEM ITEM;
|
|
#ifndef CLIPPERDEFS
|
|
typedef double XDOUBLE;
|
|
#endif
|
|
|
|
/* Compatible defines */
|
|
|
|
#define UNDEF HB_IT_NIL
|
|
#define CHARACTER HB_IT_STRING
|
|
#define NUMERIC HB_IT_NUMERIC
|
|
#define LOGICAL HB_IT_LOGICAL
|
|
#if !( defined( HB_OS_WIN ) && defined( HB_OS_WIN_USED ) )
|
|
#define DATE HB_IT_DATE
|
|
#endif
|
|
#define ALIAS HB_IT_ALIAS
|
|
#define MPTR HB_IT_BYREF /* or'ed with type when passed by reference */
|
|
#define MEMO HB_IT_MEMO
|
|
/* NOTE: CA-Cl*pper bug: WORD will conflict with the typedef with the same
|
|
name in clipdefs.h [vszakats] */
|
|
#if !( defined( HB_OS_WIN ) && defined( HB_OS_WIN_USED ) )
|
|
#define WORD ( HB_IT_INTEGER | HB_IT_LONG )
|
|
#endif
|
|
#define ARRAY HB_IT_ARRAY
|
|
#define BLOCK HB_IT_BLOCK
|
|
#if !( defined( HB_OS_WIN ) && defined( HB_OS_WIN_USED ) )
|
|
#define DOUBLE HB_IT_DOUBLE
|
|
#endif
|
|
|
|
/* Macros */
|
|
|
|
#define PCOUNT hb_pcount()
|
|
#define ALENGTH( n ) hb_parinfa( n, 0 )
|
|
|
|
#if ! defined( HB_LEGACY_TYPES_ON ) || ! defined( HB_LEGACY_LEVEL3 )
|
|
#define ISCHAR( n ) HB_ISCHAR( n )
|
|
#define ISNUM( n ) HB_ISNUM( n )
|
|
#define ISLOG( n ) HB_ISLOG( n )
|
|
#define ISDATE( n ) HB_ISDATE( n )
|
|
#define ISMEMO( n ) HB_ISMEMO( n )
|
|
#define ISBYREF( n ) HB_ISBYREF( n )
|
|
#define ISARRAY( n ) HB_ISARRAY( n )
|
|
#endif
|
|
|
|
/* Functions */
|
|
|
|
#define _parinfa hb_parinfa
|
|
#define _parinfo hb_parinfo
|
|
#define _parc hb_parvc
|
|
#define _parclen hb_parvclen
|
|
#define _parcsiz hb_parvcsiz
|
|
#define _pards hb_parvds
|
|
#define _parl hb_parvl
|
|
#define _parnd hb_parvnd
|
|
#define _parni hb_parvni
|
|
#define _parnl hb_parvnl
|
|
|
|
#define _ret hb_ret
|
|
#define _retc hb_retc
|
|
#define _retclen hb_retclen
|
|
#define _retds hb_retds
|
|
#define _retl hb_retl
|
|
#define _retnd hb_retnd
|
|
#define _retni hb_retni
|
|
#define _retnl hb_retnl
|
|
|
|
#define _storc hb_storvc
|
|
#define _storclen hb_storvclen
|
|
#define _stords hb_storvds
|
|
#define _storl hb_storvl
|
|
#define _stornd hb_storvnd
|
|
#define _storni hb_storvni
|
|
#define _stornl hb_storvnl
|
|
|
|
#endif /* _EXTEND_API */
|