Revision history for PlatformVMAPI
Additions:
[[ioFreeModule sqInt ioFreeModule(void *moduleHandle)]]
Additions:
[[ioFindExternalFunctionIn void *ioFindExternalFunctionIn(char *lookupName, void *moduleHandle)]]
Additions:
[[ioLoadModule void *ioLoadModule(char *pluginName)]]
Additions:
[[sqInt clipboardWriteFromAt(sqInt count, sqInt byteArrayIndex, sqInt startIndex)]]
Additions:
[[clipboardReadIntoAt sqInt clipboardReadIntoAt(sqInt count, sqInt byteArrayIndex, sqInt startIndex)]]
Additions:
[[clipboardSize sqInt clipboardSize(void)]]
Additions:
[[clearProfile sqInt clearProfile(void)
sqInt dumpProfile(void)
sqInt startProfiling(void)
sqInt stopProfiling(void)]]
sqInt dumpProfile(void)
sqInt startProfiling(void)
sqInt stopProfiling(void)]]
Additions:
secCanCreateSocketOfType]]
Deletions:
Additions:
[[secDisableSocketAccess secDisableSocketAccess
secHasSocketAccess
secCanConnectToPort
secCanListenOnPort
secCanCreateSocketOfType]
secHasSocketAccess
secCanConnectToPort
secCanListenOnPort
secCanCreateSocketOfType]
Additions:
[[secCanCreatePathOfSize
secCanDeletePathOfSize
secCanGetFileTypeOfSize
secCanListPathOfSize
secCanSetFileTypeOfSize
secDisableFileAccess
secCanDeleteFileOfSize
secCanOpenFileOfSizeWritable
secCanRenameFileOfSize
secHasFileAccess]]
secCanDeletePathOfSize
secCanGetFileTypeOfSize
secCanListPathOfSize
secCanSetFileTypeOfSize
secDisableFileAccess
secCanDeleteFileOfSize
secCanOpenFileOfSizeWritable
secCanRenameFileOfSize
secHasFileAccess]]
Additions:
[[ioCanRenameImage sqInt ioCanRenameImage(void);
sqInt ioCanWriteImage(void);
sqInt ioDisableImageWrite(void);]]
sqInt ioCanWriteImage(void);
sqInt ioDisableImageWrite(void);]]
Additions:
[[ioGetButtonState
sqInt ioGetButtonState(void);
sqInt ioGetKeystroke(void);
sqInt ioMousePoint(void);
sqInt ioPeekKeystroke(void);]]
sqInt ioGetButtonState(void);
sqInt ioGetKeystroke(void);
sqInt ioMousePoint(void);
sqInt ioPeekKeystroke(void);]]
Additions:
[[ioSetDisplayMode sqInt ioSetDisplayMode(sqInt width, sqInt height, sqInt depth, sqInt fullscreenFlag)]]
Additions:
[[ioSetCursorARGB sqInt ioSetCursorARGB(sqInt cursorBitsIndex, sqInt extentX, sqInt extentY, sqInt offsetX, sqInt offsetY)]]
Additions:
[[ioSetCursorWithMask sqInt ioSetCursorWithMask(sqInt cursorBitsIndex, sqInt cursorMaskIndex, sqInt offsetX, sqInt offsetY)]]
Additions:
[[ioSetCursor sqInt ioSetCursor(sqInt cursorBitsIndex, sqInt offsetX, sqInt offsetY)]]
Additions:
[[ioSeconds sqInt ioSeconds(void)]]
Deletions:
Additions:
[[ioSetFullScreen sqInt ioSetFullScreen(sqInt fullScreen)]]
Deletions:
Additions:
[[ioSetFullScreen ioSetFullScreen]]
Additions:
[[ioFormPrint sqInt ioFormPrint(sqInt bitsAddr, sqInt width, sqInt height, sqInt depth,
double hScale, double vScale, sqInt landscapeFlag);]]
double hScale, double vScale, sqInt landscapeFlag);]]
Additions:
[[browserPluginInitialiseIfNeeded browserPluginInitialiseIfNeeded]]
Deletions:
Additions:
[[browserPluginInitialiseIfNeeded browserPluginInitialiseIfNeeded]
Additions:
[[browserPluginReturnIfNeeded browserPluginReturnIfNeeded]]
Additions:
[[unableToReadImageError unableToReadImageError]]
Additions:
[[insufficientMemoryAvailableError insufficientMemoryAvailableError]]
Additions:
[[insufficientMemorySpecifiedError insufficientMemorySpecifiedError]]
Additions:
[[sqFTruncate int sqFTruncate(filenum, fileoffset)]]
Additions:
[[reserveExtraCHeapBytes sqInt reserveExtraCHeapBytes(origHeapSize, bytesToReserve))]]
Additions:
[[sqImageFile sqImageFileClose sqImageFileOpen sqImageFilePosition sqImageFileRead sqImageFileSeek sqImageFileWrite sqImageFileStartLocation]]
Deletions:
Additions:
[[sqImageFile sqImageFileClose sqImageFileOpen sqImageFilePosition sqImageFileRead sqImageFileSeek sqImageFileWrite sqImageFileStartLocation]
Deletions:
#define sqImageFileClose(f) fclose(f)
#define sqImageFileOpen(fileName, mode) fopen(fileName, mode)
#define sqImageFilePosition(f) ftell(f)
#define sqImageFileRead(ptr, sz, count, f) fread(ptr, sz, count, f)
#define sqImageFileSeek(f, pos) fseek(f, pos, SEEK_SET)
#define sqImageFileWrite(ptr, sz, count, f) fwrite(ptr, sz, count, f)
#define sqImageFileStartLocation(fileRef, fileName, size) 0]]
Additions:
[[sqImageFile
#define sqImageFileClose(f) fclose(f)
#define sqImageFileOpen(fileName, mode) fopen(fileName, mode)
#define sqImageFilePosition(f) ftell(f)
#define sqImageFileRead(ptr, sz, count, f) fread(ptr, sz, count, f)
#define sqImageFileSeek(f, pos) fseek(f, pos, SEEK_SET)
#define sqImageFileWrite(ptr, sz, count, f) fwrite(ptr, sz, count, f)
#define sqImageFileStartLocation(fileRef, fileName, size) 0]]
#define sqImageFileClose(f) fclose(f)
#define sqImageFileOpen(fileName, mode) fopen(fileName, mode)
#define sqImageFilePosition(f) ftell(f)
#define sqImageFileRead(ptr, sz, count, f) fread(ptr, sz, count, f)
#define sqImageFileSeek(f, pos) fseek(f, pos, SEEK_SET)
#define sqImageFileWrite(ptr, sz, count, f) fwrite(ptr, sz, count, f)
#define sqImageFileStartLocation(fileRef, fileName, size) 0]]
Additions:
[[vmPathGetLength sqInt vmPathGetLength(sqInt sqVMPathIndex, sqInt length)]]
Additions:
[[vmPathSize sqInt vmPathSize(void)]]
Additions:
[[imageNameSize sqInt imageNameSize(void)]]
No Differences
Additions:
[[imageNamePutLength sqInt imageNamePutLength(sqInt sqImageNameIndex, sqInt length)]]
[[imageNameGetLength sqInt imageNameGetLength(sqInt sqImageNameIndex, sqInt length)]]
[[imageNameGetLength sqInt imageNameGetLength(sqInt sqImageNameIndex, sqInt length)]]
Deletions:
Additions:
[[imageNamePutLength sqInt imageNamePutLength(sqInt sqImageNameIndex, sqInt length]]
Additions:
[[getImageName char *getImageName(void)]]
Additions:
[[imageName imageName]]
Additions:
[[sqMemoryExtraBytesLeft sqInt sqMemoryExtraBytesLeft(sqInt includingSwap)]]
Additions:
[[sqShrinkMemoryBy sqInt sqShrinkMemoryBy(sqInt oldLimit, sqInt delta)]]
Deletions:
Additions:
[[sqGrowMemoryBy sqInt sqShrinkMemoryBy(sqInt oldLimit, sqInt delta)]]
Additions:
[[sqAllocateMemory sqInt sqAllocateMemory(minHeapSize, desiredHeapSize)]]
[[sqGrowMemoryBy sqInt sqGrowMemoryBy(sqInt oldLimit, sqInt delta)]]
[[sqGrowMemoryBy sqInt sqGrowMemoryBy(sqInt oldLimit, sqInt delta)]]
Deletions:
Additions:
[[sqAllocateMemory void *sqAllocateMemory(minHeapSize, desiredHeapSize)]]
Deletions:
Additions:
[[sqAllocateMemory sqAllocateMemory(minHeapSize, desiredHeapSize)]]
Additions:
[[ioBeep sqInt ioBeep(void)]]
Additions:
[[ioGetNextEvent sqInt ioGetNextEvent( sqInputEvent *evt)]]
Additions:
[[ioSetInputSemaphore sqInt ioSetInputSemaphore(sqInt semaIndex)]]
Additions:
[[ioProcessEvents sqInt ioProcessEvents(void)]]
Additions:
[[displayioShowDisplay sqInt display_ioShowDisplay(sqInt dispBitsIndex, sqInt width, sqInt height, sqInt depth,
Deletions:
Additions:
[[display_ioShowDisplay sqInt display_ioShowDisplay(sqInt dispBitsIndex, sqInt width, sqInt height, sqInt depth,
sqInt affectedL, sqInt affectedR, sqInt affectedT, sqInt affectedB)]]
sqInt affectedL, sqInt affectedR, sqInt affectedT, sqInt affectedB)]]
Additions:
[[ioForceDisplayUpdate sqInt ioForceDisplayUpdate(void)]]
Additions:
[[ioHasDisplayDepth sqInt ioHasDisplayDepth(sqInt depth)]]
Additions:
[[ioScreenDepth sqInt ioScreenDepth(void)]]
Deletions:
Additions:
[[sqInt ioScreenDepth(void)]]
Additions:
[[ioScreenSize sqInt ioScreenSize(void)]]
Additions:
[[dirLookup sqInt dir_Lookup(char *pathString, . . . )]]
Deletions:
Additions:
[[sqGetFilenameFromString sqInt sqGetFilenameFromString(char * aCharBuffer, char * aFilenameString,
sqInt filenameLength, sqInt resolveAlias) ]]
sqInt filenameLength, sqInt resolveAlias) ]]
Additions:
These are the basic api routines you need to implement when you compile the source code without
the majority of the plugins
the majority of the plugins
Additions:
[[attributeSize sqInt attributeSize(sqInt indexNumber) ]]
Additions:
[[getAttributeIntoLength sqInt getAttributeIntoLength(sqInt indexNumber, sqInt byteArrayIndex, sqInt length)]]
Additions:
[[dirPathToWorkingDir sqInt dir_PathToWorkingDir(char *pathName, sqInt pathNameMax)]]
Deletions:
Additions:
[[dirGetMacFileTypeAndCreator sqInt dir_GetMacFileTypeAndCreator(char *filename, sqInt filenameSize, char *fType, char *fCreator)]]
[[dirPathToWorkingDir sqInt dir_PathToWorkingDir(char *pathName, sqInt pathNameMax]]
[[dirPathToWorkingDir sqInt dir_PathToWorkingDir(char *pathName, sqInt pathNameMax]]
Deletions:
Additions:
[[dirSetMacFileTypeAndCreator sqInt dir_SetMacFileTypeAndCreator(char *filename, sqInt filenameSize, char *fType, char *fCreator)]]
[[dirGetMacFileTypeAndCreator sqInt dir_GetMacFileTypeAndCreator(char *filename, sqInt filenameSize, char *fType, char *fCreator){]]
[[dirGetMacFileTypeAndCreator sqInt dir_GetMacFileTypeAndCreator(char *filename, sqInt filenameSize, char *fType, char *fCreator){]]
Deletions:
Additions:
[[dirSetMacFileTypeAndCreator dir_SetMacFileTypeAndCreator(char *filename, sqInt filenameSize, char *fType, char *fCreator)]]
Additions:
[[dirDelimitor sqInt dir_Delimitor(void)]]
Additions:
[[dirDelete sqInt dir_Delete(char *pathString, sqInt pathStringLength)]]
Additions:
[[dirCreate sqInt dir_Create(char *pathString, sqInt pathStringLength)]]
Deletions:
Additions:
[[dir_Create sqInt dir_Create(char *pathString, sqInt pathStringLength)]]
Deletions:
Additions:
[[dirLookup sqInt dir_Lookup(char *pathString, )]]
Deletions:
Additions:
[[dir_Lookup sqInt dir_Lookup(char *pathString, )]]
Deletions:
Additions:
[[dir_Lookup sqInt dir_Lookup(char *pathString, ...)]]
Deletions:
/* outputs: */ char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate,
sqInt *isDirectory, squeakFileOffsetType *sizeIfFile)]]
Additions:
[[dir_Lookup sqInt dir_Lookup(char *pathString, sqInt pathStringLength, sqInt index,
/* outputs: */ char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate,
sqInt *isDirectory, squeakFileOffsetType *sizeIfFile)]]
/* outputs: */ char *name, sqInt *nameLength, sqInt *creationDate, sqInt *modificationDate,
sqInt *isDirectory, squeakFileOffsetType *sizeIfFile)]]
Additions:
[[ioRelinquishProcessorForMicroseconds sqInt ioRelinquishProcessorForMicroseconds(sqInt microSeconds)]]
Additions:
[[ioMicroMSecs sqInt ioMSecs(void)]]
[[ioMicroMSecs sqInt ioLowResMSecs(void)]]
[[ioMicroMSecs sqInt ioLowResMSecs(void)]]
Additions:
[[ioMicroMSecs sqInt ioMicroMSecs(void)]]
Additions:
[[ioDisablePowerManager sqInt ioDisablePowerManager(sqInt disableIfNonZero)]]
Deletions:
Additions:
[[ioExit sqInt ioExit(void)]]
Deletions:
Additions:
[[sqInt ioExit(void)]]
Deletions:
Additions:
sqInt ioExit(void)
Deletions:
Additions:
[ioExit sqInt ioExit(void)]
Deletions:
Parms: NONE
return: NONE, fake return of zero
From: Interpreter
Why:
image read failure, or primitiveQuit or some other quit action.
Responsibility:
Terminate running application on quit.
calls ioShutdownModules to shutdown plugins
calls exit(0) on unix machines
control might not return to caller, see man exit(0)
MacIntosh
os-9 had logic to restore menu bar if non-headless or running browser in full screen. Also called by ioProcessEvents if gQuitNowRightNow
iPhone
Unix
Windows