Files
harbour-core/contrib/hbnf/hbnf.hbx
Przemysław Czerpak 2b4c4b3b5f 2017-12-12 12:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbnf/fttext.c
  * contrib/hbnf/hbnf.hbx
    * synced with Viktor's modifications:
         - use FILE API instead of FS API
         - protection against GPF when FT area has no valid file handle
         - alternative function names which exceeds 10 character Cl*pper limit
    ! fixed handle and memory leak when new file is open in FT area which
      already has open file

  * include/harbour.hbx
  * src/harbour.def
  * src/vm/hvm.c
    + added new PRG function: __vmItemRefs( <xVal> ) -> <nRefs>
      Please remember that passed <xVal> parameter increases the counter so
      if you want to eliminate it then pass it by reference, i,e.:
         aVal := {}
         ? __vmItemRefs( aVal ), __vmItemRefs( @aVal )

  * include/hbapi.h
  * src/harbour.def
  * src/vm/arrays.c
  * src/vm/codebloc.c
  * src/vm/hashes.c
    + added new C functions:
         HB_COUNTER hb_arrayRefs( PHB_ITEM pArray );
         HB_COUNTER hb_hashRefs( PHB_ITEM pHash );
         HB_COUNTER hb_codeblockRefs( PHB_ITEM pItem );

  * src/rtl/itemseri.c
    * added new internal function to replace 3 times repeated code for
      resizing array of references.
    % use new functions to check number of references to hashes, arrays and
      objects to ignore in system detecting multiple references the items
      which have reference counter smaller then 2. Such items cannot have
      multiple references.
      In practice this modification resolves the time problem when very big
      items are serialized to the level comparable to HB_SERIALIZE_IGNOREREF
      so now this flag is useless though I'll keep it because only in such
      mode serialization code can be used as filter in streams.
      I also created binary tree to store references but after this
      modifications it is not necessary so I decided to not commit it yet.
      Please only remember that practice limit of such serialization code
      is created by physical memory attached by OS to the process. When this
      limit is exceed then swap is actively used what completely kill the
      performance. The CPU usage is reduced to less then 1% because it waits
      for restoring swapped memory pages by extremely heavy used disks. In
      such case I cannot help.
2017-12-12 12:26:24 +01:00

246 lines
4.8 KiB
Plaintext

/* --------------------------------------------------------------------
* NOTE: You can add manual override which functions to include or
* exclude from automatically generated EXTERNAL/DYNAMIC list.
* Syntax: // HB_FUNC_INCLUDE <func>
* // HB_FUNC_EXCLUDE <func>
*/
/* --------------------------------------------------------------------
* WARNING: Automatically generated code below. DO NOT EDIT! (except casing)
* Regenerate using hbmk2 '-hbx=' option.
*/
#ifndef __HBEXTERN_CH__HBNF__
#define __HBEXTERN_CH__HBNF__
#if defined( __HBEXTREQ__ ) .OR. defined( __HBEXTERN__HBNF__ANNOUNCE )
ANNOUNCE __HBEXTERN__HBNF__
#endif
#if defined( __HBEXTREQ__ ) .OR. defined( __HBEXTERN__HBNF__REQUEST )
#command DYNAMIC <fncs,...> => EXTERNAL <fncs>
#endif
DYNAMIC ft_AAddition
DYNAMIC ft_AAvg
DYNAMIC ft_AcctAdj
DYNAMIC ft_AcctMonth
DYNAMIC ft_AcctQtr
DYNAMIC ft_AcctWeek
DYNAMIC ft_AcctYear
DYNAMIC ft_Adapter
DYNAMIC ft_Adder
DYNAMIC ft_AddWkDy
DYNAMIC ft_ADesSort
DYNAMIC ft_AEMaxLen
DYNAMIC ft_AEMinLen
DYNAMIC ft_Alt
DYNAMIC ft_AMedian
DYNAMIC ft_ANoMatches
DYNAMIC ft_ArEdit
DYNAMIC ft_ASum
DYNAMIC ft_At2
DYNAMIC ft_BitClr
DYNAMIC ft_BitSet
DYNAMIC ft_Blink
DYNAMIC ft_BrwsWhl
DYNAMIC ft_Byt2Bit
DYNAMIC ft_Byt2Hex
DYNAMIC ft_ByteAnd
DYNAMIC ft_ByteNeg
DYNAMIC ft_ByteNot
DYNAMIC ft_ByteOr
DYNAMIC ft_ByteXor
DYNAMIC ft_Calendar
DYNAMIC ft_CapLock
DYNAMIC ft_ChDir
DYNAMIC ft_Civ2Mil
DYNAMIC ft_ClrSel
DYNAMIC ft_CLS
DYNAMIC ft_Color2N
DYNAMIC ft_Ctrl
DYNAMIC ft_D2E
DYNAMIC ft_DateCnfg
DYNAMIC ft_DayOfYr
DYNAMIC ft_DayToBoW
DYNAMIC ft_Dec2Bin
DYNAMIC ft_Default
DYNAMIC ft_Descend
DYNAMIC ft_DFClose
DYNAMIC ft_DFSetup
DYNAMIC ft_DispFile
DYNAMIC ft_DispMsg
DYNAMIC ft_DosVer
DYNAMIC ft_DoY
DYNAMIC ft_DskFree
DYNAMIC ft_DskSize
DYNAMIC ft_E2D
DYNAMIC ft_Easter
DYNAMIC ft_ElapMin
DYNAMIC ft_Elapsed
DYNAMIC ft_ElTime
DYNAMIC ft_EscCode
DYNAMIC ft_FAppend
DYNAMIC ft_FBof
DYNAMIC ft_FDay
DYNAMIC ft_FDelete
DYNAMIC ft_FEof
DYNAMIC ft_FError
DYNAMIC ft_FGoBot
DYNAMIC ft_FGoBottom
DYNAMIC ft_FGoto
DYNAMIC ft_FGoTop
DYNAMIC ft_Fill
DYNAMIC ft_FindITh
DYNAMIC ft_FInsert
DYNAMIC ft_FLastRe
DYNAMIC ft_FLastRec
DYNAMIC ft_FlopTst
DYNAMIC ft_FOffset
DYNAMIC ft_FReadLn
DYNAMIC ft_FRecNo
DYNAMIC ft_FSelect
DYNAMIC ft_FSkip
DYNAMIC ft_FUse
DYNAMIC ft_FWriteL
DYNAMIC ft_FWriteLn
DYNAMIC ft_GCD
DYNAMIC ft_GetE
DYNAMIC ft_GetMode
DYNAMIC ft_GetVCur
DYNAMIC ft_GetVPg
DYNAMIC ft_Hex2Dec
DYNAMIC ft_IAmIdle
DYNAMIC ft_Idle
DYNAMIC ft_inp
DYNAMIC ft_int86
DYNAMIC ft_InvClr
DYNAMIC ft_IsBit
DYNAMIC ft_IsBitOn
DYNAMIC ft_IsPrint
DYNAMIC ft_IsShare
DYNAMIC ft_LastKey
DYNAMIC ft_LDay
DYNAMIC ft_Linked
DYNAMIC ft_MAdd
DYNAMIC ft_MButPrs
DYNAMIC ft_MButRel
DYNAMIC ft_MCOnOff
DYNAMIC ft_MCursor
DYNAMIC ft_MDblClk
DYNAMIC ft_MDefCrs
DYNAMIC ft_Menu1
DYNAMIC ft_Menu2
DYNAMIC ft_MenuTo
DYNAMIC ft_Metaph
DYNAMIC ft_MGetCoord
DYNAMIC ft_MGetPage
DYNAMIC ft_MGetPos
DYNAMIC ft_MGetSens
DYNAMIC ft_MGetX
DYNAMIC ft_MGetY
DYNAMIC ft_MHideCrs
DYNAMIC ft_Mil2Civ
DYNAMIC ft_Mil2Min
DYNAMIC ft_Min2Dhm
DYNAMIC ft_Min2Mil
DYNAMIC ft_MInit
DYNAMIC ft_MInRegion
DYNAMIC ft_MkDir
DYNAMIC ft_MMickeys
DYNAMIC ft_Month
DYNAMIC ft_MReset
DYNAMIC ft_MSetCoord
DYNAMIC ft_MSetPage
DYNAMIC ft_MSetPos
DYNAMIC ft_MSetSens
DYNAMIC ft_MShowCrs
DYNAMIC ft_MVersion
DYNAMIC ft_MXLimit
DYNAMIC ft_MYLimit
DYNAMIC ft_N2Color
DYNAMIC ft_NetPV
DYNAMIC ft_NoOccur
DYNAMIC ft_NToW
DYNAMIC ft_NumLock
DYNAMIC ft_NWLStat
DYNAMIC ft_NWSemClose
DYNAMIC ft_NWSemEx
DYNAMIC ft_NWSemLock
DYNAMIC ft_NWSemOpen
DYNAMIC ft_NWSemSig
DYNAMIC ft_NWSemUnlock
DYNAMIC ft_NWSemWait
DYNAMIC ft_NWUID
DYNAMIC ft_OnTick
DYNAMIC ft_Origin
DYNAMIC ft_outp
DYNAMIC ft_PChr
DYNAMIC ft_Peek
DYNAMIC ft_Pegs
DYNAMIC ft_Pending
DYNAMIC ft_PickDay
DYNAMIC ft_Poke
DYNAMIC ft_PopVid
DYNAMIC ft_Prompt
DYNAMIC ft_Proper
DYNAMIC ft_PrtScr
DYNAMIC ft_PushVid
DYNAMIC ft_PutKey
DYNAMIC ft_Qtr
DYNAMIC ft_Rand1
DYNAMIC ft_RAt2
DYNAMIC ft_Reboot
DYNAMIC ft_RestArr
DYNAMIC ft_RestAtt
DYNAMIC ft_RestSets
DYNAMIC ft_RevAttr
DYNAMIC ft_RevChr
DYNAMIC ft_RgnStack
DYNAMIC ft_RmDir
DYNAMIC ft_Round
DYNAMIC ft_RstRgn
DYNAMIC ft_SaveArr
DYNAMIC ft_SaveAtt
DYNAMIC ft_SaveSets
DYNAMIC ft_SavRgn
DYNAMIC ft_ScanCode
DYNAMIC ft_SetAttr
DYNAMIC ft_SetCentury
DYNAMIC ft_SetDate
DYNAMIC ft_SetKeys
DYNAMIC ft_SetMode
DYNAMIC ft_SetRate
DYNAMIC ft_SetTime
DYNAMIC ft_SetVcur
DYNAMIC ft_SetVpg
DYNAMIC ft_Shadow
DYNAMIC ft_Shift
DYNAMIC ft_SInkey
DYNAMIC ft_Sleep
DYNAMIC ft_Sqzn
DYNAMIC ft_SToD
DYNAMIC ft_Sys2Mil
DYNAMIC ft_SysMem
DYNAMIC ft_TempFil
DYNAMIC ft_Unsqzn
DYNAMIC ft_VidStr
DYNAMIC ft_Week
DYNAMIC ft_Workdays
DYNAMIC ft_WoY
DYNAMIC ft_WrtChr
DYNAMIC ft_XBox
DYNAMIC ft_XToY
DYNAMIC ft_Year
DYNAMIC _ft_DFClos
DYNAMIC _ft_DFInit
DYNAMIC _ft_MSetSensitive
DYNAMIC _ft_NWKStat
DYNAMIC _ft_TempFil
#if defined( __HBEXTREQ__ ) .OR. defined( __HBEXTERN__HBNF__REQUEST )
#uncommand DYNAMIC <fncs,...> => EXTERNAL <fncs>
#endif
#endif