
		Kernel API changes for GEOS 2.0

Kernel routine API changes
--------------------------
GeodeLockResource combined into MemLock

ModModify replaced with MemModifyFlags, MemModifyOwner and MemModifyOtherInfo

MemInfo replaced with MemGetInfo (with new API)

GeodeInfoDefaultDriver replaced with GeodeGetDefaultDriver (with new API)

MemInfoHeap, MemInfoHandles, FileGetSystemInfo, GeodeInfoSystem and SysInfo
replaced with SysGetInfo (with new API)

GeodeInfo, GeodeGetGeodeVersion, GeodeGetTokenID, GeodeGetPermName replaced
with GeodeGetInfo (with new API)

Changed API to GeodeLoad (no longer takes GeodeType)

Changed API to GeodeFind (no longer takes GeodeType)

ThreadInfo replaced with ThreadGetInfo (with new API)

Removed DiskReRegister

SysConfig replaced with SysGetConfig (with new API (dx instead of cx))

SysLocalInfo replaced with LocalXXX

These routines have been changed to take their string in es:di (not es:bp):
	LocalSetTimeDateFormat, LocalGetTimeDateFormat,
	LocalFormatDateTime, LocalParseDateTime, LocalCustomFormatDateTime

These routines have been changed to take their string in es:di (not es:dx):
	LocalCmpStrings, LocalCmpStringsNoCase, LocalCmpStringsDosToGeos

These routines have been changed to take and return a word (not a byte):
	LocalUpcaseChar, LocalDowncaseChar,
	LocalLexicalValue, LocalLexicalValueNoCase

These routines have been changed to take a word as the default character:
	LocalGeosToDos, LocalDosToGeos, LocalCodePageToGeos,
	LocalGeosToCodePage

These routines have been had registers moved around to allow passing words:
	LocalCmpStringsDosToGeos, LocalCodePageToGeosChar,
	LocalGeosToCodePageChar, LocalDosToGeosChar, LocalGeosToDosChar,

These routines have been changed to take a word (not a byte):
	LocalIsUpper, LocalIsLower, LocalIsAlpha, LocalIsPunctuation,
	LocalIsSpace, LocalIsSymbol, LocalIsDateChar, LocalIsTimeChar,
	LocalIsNumChar, LocalIsDosChar

These routines have been changed to take and return words (not bytes):
	LocalGetQuotes, LocalSetQuotes, LocalGetNumericFormat,
	LocalSetNumericFormat, LocalGetCurrentcyFormat, LocalSetCurrencyFormat,

These routines have been changed to take a word (not a byte):
	GrCharMetrics,  GrDrawChar, GrCharWidth

Added WBFix macro and BBFix macro, fixed bugs in WWFix macro

Added new global EC routines: ECCheckSegments and ECCheckStack


General .def file changes
-------------------------
ACCESS_xxx constants removed

All internal .def files moved to Include/Internal/

type.def removed (merged into geos.def)

geosmacro.def removed (merged into geos.def)

driverCommon.def removed (merged into driver.def)

keyboard.def removed (merged into input.def)

mouse.def removed (merged into input.def)

copyright.def removed

opaque.def removed

geodeBuild.def removed

event.def removed

fontEnum.def removed

region.def removed

cursor.def removed

errorcheck.def -> ec.def (to conform with 8.3)

fileStruc.def -> fileStr.def (to conform with 8.3)

semaphore.def -> sem.def (to conform with 8.3)

interrupt.def -> interrup.def (to conform with 8.3)

chunkarray.def -> chunkarr.def (to conform with 8.3)

character.def -> char.def (to conform with 8.3)

localization.def -> localize.def (to conform with 8.3)

swapDriver.def -> swapDr.def (to conform with 8.3)

videoDriver.def -> videoDr.def (to conform with 8.3)

fontDriver.def -> fontDr.def (to conform with 8.3)

keyboardDriver.def -> kbdDr.def (to conform with 8.3)

keyboardMap.def -> kbdMap.def (to conform with 8.3)

streamDriver.def -> streamDr.def (to conform with 8.3)

streamDriverInt.def -> strDrInt.def (to conform with 8.3)

serialDriver.def -> serialDr.def (to conform with 8.3)

parallelDriver.def -> parallDr.def (to conform with 8.3)

mouseDriver.def -> mouseDr.def (to conform with 8.3)

printDriver.def -> printDr.def (to conform with 8.3)

background.def -> backgrnd.def (to conform with 8.3)

metaClass.def -> Objects/metaC.def (to conform with 8.3)

processClass.def -> Objects/processC.def (to conform with 8.3)


geos.def
--------
Contains old type.def

Contains old geosmacro.def

Removed PROCESS_STACK_SIZE: Not used

Removed OutputDescriptor and ObjectDescriptor
	Should be replaced with "optr".  Fields should use .handle, .segment,
	.chunk or .offset

Moved MessageData and ActionDescriptor to ui.def

Moved ModuleLock and Semaphore to semaphore.def

Moved VARIANT_CLASS to Kernel/Object/objectConstant.def

Removed DFixed and WDFixed (unused)

Changed SetDef macro to not take access constants

Moved several file related constants to file.def

Moved protocol and release stuff to geode.def

Moved AllocNavID, DefineNavID, NavToID and NavToNearID to ui.def

Moved CmpStrings to Kernel/Graphics/graphicsMacro.def


heap.def
--------
Removed ALLOC_FIXED_NO_ERR


file.def
--------
Moved FileGetVolumeInfo, FileSetVolumeName and FileGetVolumeFreeSpace to
disk.def

Removed PathBuffer

Moved FileLocateFileInDosPath and FileGetEnvironment to system.def

Moved FileEnum to fileEnum.def

Remove DFIS_NAME_BUFFER_SIZE (repalced by DOS_DOT_FILE_NAME_LENGTH_ZT)

Added DosNoDotFileName and DosDotFileName types, added more constants for
buffer sizes


fileStruc.def
-------------
Moved ExecutableFileHeader, ImportedLibraryEntry and GeodeFileHeader to
Internal/geodeStruc.def

Removed GFHToken (uses GeodeToken)


geode.def
---------
Moved driver related stuff to driver.def

Moved library related stuff to library.def

Changed GHToken to GeodeToken

Moved GeodeForEach to Internal/geodeStruc.def

Removed GeodeFindLiast (the routine does not exist)


library.def
-----------
Nuked DefLibraryRoutine

Moved StartLibrary, EndLibrary, UseLib, DefLib, StartDriver, EndDriver,
UseDriver, DefDriver to geos.def


driver.def
----------
Contains old driverCommon.def

Contains driver related stuff formerly in geode.def


resource.def
------------
Contains resource macros and segment definitions formerly in geodeBuild.def

Contains old event.def

Removed Event structure (obsolete)

Contains object relocation macros formerly in geodeBuild.def

Moved ObjMessage and ProcBroadcastEvent to object.def


localmem.def
------------
Moved LMEM_FREE_OBJ_BLOCK_COMMON_METHODS, LMEM_BLOCK_DEATH_COMMON_METHODS
and LMEM_INITIAL_BLOCK_DEATH_COUNT to Kernel/Object/objectConstant.def

LMemInitHeap() arguments changed

Moved ObjLMemBlockHeader and ObjChunkFlags to object.def

Moved LMemExists to errorcheck.def


thread.def
----------
Replaced THREAD_MODIFY_BASE_PRIO and THREAD_MODIFY_ZERO_USAGE with
ThreadModifyFlags structure


disk.def
--------
Moved documentation for callbacks to DiskCopy into the header for DiskCopy


system.def
----------
Moved WinInvalTree and WinInvalWhole to Internal/grWinInt.def
Moved SysLocalInfo to localization.def


timedate.def
------------
Moved TimerGetCount to timer.def


dbase.def
---------
Internal structures moved to Internal/dbaseInt.def


im.def
------
Internal constants moved to Kernel/IM/imConstant.def


input.def
---------
Removed TOGGLE_CAPSLOCK, TOGGLE_NUMLOCK and TOGGLE_SCROLLLOCK

Removed LALT, RALT, LCTRL, RCTRL, LSHIFT, RSHIFT

Removed ALT_KEYS, CTRL_KEYS, SHIFT_KEYS

Removed KSS_PHYSICAL, KSS_ALT, KSS_CTRL, KSS_SHIFT, KSS_CHAR_SET, KSS_CHAR

Removed KSS_BSW, KSS_CONTROL, KSS_UI_FUNCS

Moved MetaInputMethods in Objects/inputC.def


localize.def
------------

Lexical ordering enums moved to lexical.def


font.def
--------
Internal structures moved to Internal/fontDr.def

Contains old fontEnum.def


graphics.def
------------
Removed several routines that were not actually defined: GrTransForFont,
GrCreateRectRegion, GrCreatePolygonRegion, GrTextPos, GrGetTextWrapInfo

Moved GrCallFontDriver to Internal/videoDr.def

Moved GrTextObjCalc, GrTextPosition and GrSetTextDrawOffset to text.def

Moved GrCopyDrawMask and GrMapColorToGrey to Internal/videoDr.def

Moved GrGetDefFontID, GrCharMetrics, GrFontMetrics, MIN_POINT_SIZE,
MAX_POINT_SIZE, GFM_info, GCM_info to font.def

Nuked MatrixJustification, GSTATE_ALLOC, GSTATE_DEFAULT and GSTATE_NUM_STATES
(unused)

Moved TM_KERNING, TM_INTERNAL and SEPARATOR to
Kernel/Graphics/graphicsConstant.def

Contains old region.def

Moved GrChunkRegOp, GrPtrRegOp, GrBuildRegion and GrBuildRegion structures
to Internal/grWinInt.def

Moved GrPlayString, GrPlayStringAtCP, GrDrawString, GrDrawStringAtCP,
GrSetStringPos, GrCopyString, GrDestroyString, GrLoadString, GrBeginString,
GrGetElement to gstring.def

Contains old cursor.def

Removed GrSetPtr, GrHidePtr, GrShowPtr, and GrMovePtr (non-existent)

Moved CUR_SIZE and CUR_BWIDTH to Driver/Video/VidCom/vidConstant.def

Renamed CUR_IMAGE_SIZE to STANDARD_CURSOR_IMAGE_SIZE

Removed PtrShapes enum (unused)

Removed BMCE_NO_VIDMEM_DRIVER


gstring.def
-----------
Moved WWFix macro to geos.def


chunkarr.def
------------
ChunkArrayCreate now requires a paramter to be passed in cx (passing 0 gets
the same functionality as before).


win.def
-------
Moved MetaWindowMethods in Objects/winC.def


Files moved to Include/Internal
-------------------------------
dbaseInt.def (new)
debug.def
diskInt.def
dos.def
driveInt.def
fileInt.def
fontDr.def
fsDriver.def
geodeStr.def
grWinInt.def (new)
gstate.def
heapInt.def
im.def
interrup.def
kLoader.def
kbdMap.def
kbdDr.def
motiflib.def
mouseDr.def
parallDr.def
printDr.def
serialDr.def
streamDr.def
strDrInt.def
swap.def
swapDr.def
tmatrix.def
videoDr.def
window.def
