Files
harbour-core/harbour/include/extend.api
Viktor Szakats 44306c955c 2011-07-17 16:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/extend.api
  * include/harbour.hbx
  * include/hbdefs.h
  * include/hbapi.h
  * include/hbvm.h
  * include/hbapigt.h
  * include/clipdefs.h
  - src/pp/pplib3.c
  * src/pp/Makefile
  * src/vm/hvm.c
  * src/rtl/hbtoken.c
  * src/rtl/inkey.c
  * src/rdd/usrrdd/usrrdd.c
  * contrib/hbmysql/hbmysql.hbx
  - contrib/hbmysql/mysqlold.c
  * contrib/hbmysql/mysql.c
  * contrib/hbmysql/hbmysql.hbp
  * contrib/hbmysql/mysql.ch
  * contrib/hbpgsql/hbpgsql.hbx
  * contrib/hbpgsql/postgres.c
  * contrib/hbwin/hbwin.hbp
  * contrib/hbwin/hbwin.hbx
  - contrib/hbwin/legacy.prg
  - contrib/hbwin/legacycd.c
  - contrib/hbwin/legacyco.c
  - contrib/hbwin/legacycp.c
  * contrib/hbodbc/hbodbc.hbx
  - contrib/hbodbc/odbcold.c
  * contrib/hbodbc/odbc.c
  * contrib/hbodbc/hbodbc.hbp
  * contrib/hbtip/utils.c
  * contrib/hbtip/hbtip.hbx
    * deleted things marked with HB_LEGACY_LEVEL3, finishing cleanup
      job started many years ago.
    ; this also means that windows.h and os2.h will no longer be
      included by Harbour headers, HB_OS_WIN_USED is thus ineffective,
      so if someone needs these headers to access system APIs, they
      should be manually included in each source file. Some old
      hacks have also been removed which disabled some Clipper
      compatibility macros/types in compatibility headers (clipdefs.h, *.api),
      if someone uses these alongside windows.h/os2.h inclusion, it will
      be broken, here the strategy is to move to Harbour types and
      Harbour API headers, simply Clipper headers and newer OS headers
      are not compatible.
    ; HB_DONT_DEFINE_BASIC_TYPES is not effective anymore.
    ; INKEY_RAW is no more, use HB_INKEY_RAW instead.
    ; NEXTKEY() hidden parameter extension is disabled. Use HB_KEYNEXT()
      Harbour alternative which has it.
    ; Some legacy PP functions are no more.
    ; hb_vmPushState()/hb_vmPopState() APIs were now permanently deleted.
    ; __STR*() token handling legacy functions are no more, use native HB_TOKEN*()
      ones instead.
    ; WRITEBHEADER in USRRDD is no more, WRITEDBHEADER is the replacement.
    ; hbmysql, hbodbc compatibilty and deprecated functions were deleted
    ; hbwin compatibility functions were deleted. If there is demand, mainly to
      help migrating xhb users, they can be readded to xhb lib by interested
      developers, now deleted code should be changed to fall back to dummies
      on non-Windows builds.
    ; some deprecated hbpgsql functions were deleted
    ; hbtip HB_BASE64() is deleted. Use core HB_BASE64ENCODE() instead.

    ; Anyone affected by above changes has the option to stick with 3.0.x Harbour
      versions or to update their source code according to above instructions
      (or instructions included in past ChangeLog entries)

    ; Some fallouts in Harbour build is possible after these changes
2011-07-17 14:23:26 +00:00

129 lines
4.4 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
#define DATE HB_IT_DATE
#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] */
#define WORD ( HB_IT_INTEGER | HB_IT_LONG )
#define ARRAY HB_IT_ARRAY
#define BLOCK HB_IT_BLOCK
#define DOUBLE HB_IT_DOUBLE
/* Macros */
#define PCOUNT hb_pcount()
#define ALENGTH( n ) hb_parinfa( n, 0 )
#if ! defined( HB_LEGACY_TYPES_ON )
#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 */