summaryrefslogtreecommitdiff
path: root/unsorted/uCOS.c
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2023-01-15 12:14:05 +0000
committerAsh Wolf <ninji@wuffs.org>2023-01-15 12:14:05 +0000
commit35d488e972a9dd75ce3867c000405f128b79c615 (patch)
treee3319a23d9aa0d4725f88a99fdd5131488a334a9 /unsorted/uCOS.c
parent8078e7f897aaae9b492b22475060052d68b9c547 (diff)
downloadMWCC-35d488e972a9dd75ce3867c000405f128b79c615.tar.gz
MWCC-35d488e972a9dd75ce3867c000405f128b79c615.zip
reorganise things a bit to align further with the actual names/structure
Diffstat (limited to 'unsorted/uCOS.c')
-rw-r--r--unsorted/uCOS.c292
1 files changed, 0 insertions, 292 deletions
diff --git a/unsorted/uCOS.c b/unsorted/uCOS.c
deleted file mode 100644
index 11f1668..0000000
--- a/unsorted/uCOS.c
+++ /dev/null
@@ -1,292 +0,0 @@
-#include "cw_common.h"
-#include "cos.h"
-
-extern Boolean systemHandles;
-
-static StringPtr COS_pstrcpy(StringPtr dst, ConstStringPtr src) {
- short cnt;
- for (cnt = src[0]; cnt >= 0; cnt--) {
- *(dst++) = *(src++);
- }
- return dst;
-}
-
-static StringPtr COS_pstrcat(StringPtr dst, ConstStringPtr src) {
- // not matching
- short as;
- short bs;
-
- bs = *(src++);
- as = dst[0];
- if ((bs + as) > 255)
- bs = 255 - as;
-
- dst[0] += bs;
- dst = &dst[as];
- dst++;
-
- while (bs-- > 0) {
- *(dst++) = *(src++);
- }
- return dst;
-}
-
-static void COS_pstrcharcat(StringPtr to, char ch) {
- if (to[0] < 255) {
- to[0]++;
- to[to[0]] = ch;
- }
-}
-
-static short COS_pstrcmp(ConstStringPtr a, ConstStringPtr b) {
- short as, bs;
- if ((bs = *(b++)) != (as = *(a++)))
- return 1;
- while (as-- > 0) {
- if (*(a++) != *(b++))
- return 1;
- }
- return 0;
-}
-
-Handle COS_NewHandle(SInt32 byteCount) {
- return NewHandle(byteCount);
-}
-
-Handle COS_NewOSHandle(SInt32 logicalSize) {
- OSErr err;
- Handle h;
-
- if (systemHandles) {
- h = TempNewHandle(logicalSize, &err);
- if (!err)
- return h;
- }
-
- return NULL;
-}
-
-void COS_FreeHandle(Handle handle) {
- DisposeHandle(handle);
-}
-
-Boolean COS_ResizeHandle(Handle handle, SInt32 newSize) {
- SetHandleSize(handle, newSize);
- return LMGetMemErr() == noErr;
-}
-
-SInt32 COS_GetHandleSize(Handle handle) {
- return GetHandleSize(handle);
-}
-
-void COS_LockHandle(Handle handle) {
- HLock(handle);
-}
-
-void COS_LockHandleHi(Handle handle) {
- HLockHi(handle);
-}
-
-void COS_UnlockHandle(Handle handle) {
- HUnlock(handle);
-}
-
-int COS_GetHandleState(Handle handle) {
- return HGetState(handle);
-}
-
-void COS_SetHandleState(Handle handle, int state) {
- HSetState(handle, state);
-}
-
-Boolean COS_IsLockedState(int state) {
- return (state & 0x80) >> 7;
-}
-
-char *COS_NewPtr(SInt32 byteCount) {
- return NewPtr(byteCount);
-}
-
-char *COS_NewPtrClear(SInt32 byteCount) {
- return NewPtrClear(byteCount);
-}
-
-void COS_FreePtr(char *ptr) {
- DisposePtr(ptr);
-}
-
-void COS_AppendPtrToHandle(char *ptr1, Handle hand2, SInt32 size) {
- PtrAndHand(ptr1, hand2, size);
-}
-
-OSErr COS_GetMemErr(void) {
- return LMGetMemErr();
-}
-
-SInt32 COS_GetTicks(void) {
- return LMGetTicks();
-}
-
-SInt32 COS_GetTime(void) {
- return LMGetTime();
-}
-
-void COS_GetString(char *buffer, SInt16 strListID, SInt16 index) {
- GetIndString((StringPtr) buffer, strListID, index);
- p2cstr((StringPtr) buffer);
-}
-
-void COS_GetPString(StringPtr buffer, SInt16 strListID, SInt16 index) {
- GetIndString((StringPtr) buffer, strListID, index);
-}
-
-Boolean COS_IsMultiByte(const void *str1, const void *str2) {
- return OS_IsMultiByte(str1, str2);
-}
-
-OSErr COS_FileNew(const FSSpec *spec, SInt16 *refNum, OSType creator, OSType fileType) {
- OSErr err;
-
- HDelete(spec->vRefNum, spec->parID, spec->name);
- err = HCreate(spec->vRefNum, spec->parID, spec->name, creator, fileType);
- if (!err)
- err = HOpenDF(spec->vRefNum, spec->parID, spec->name, fsRdWrPerm, refNum);
- return err;
-}
-
-OSErr COS_FileOpen(const FSSpec *spec, SInt16 *refNum) {
- return HOpenDF(spec->vRefNum, spec->parID, spec->name, fsRdPerm, refNum);
-}
-
-OSErr COS_FileGetType(const FSSpec *spec, OSType *fileType) {
- OSErr err;
- FInfo fi;
-
- err = HGetFInfo(spec->vRefNum, spec->parID, spec->name, &fi);
- *fileType = fi.fdType;
- return err;
-}
-
-OSErr COS_FileGetSize(SInt16 refNum, SInt32 *logEOF) {
- return GetEOF(refNum, logEOF);
-}
-
-OSErr COS_FileRead(SInt16 refNum, void *buffPtr, SInt32 count) {
- return FSRead(refNum, &count, buffPtr);
-}
-
-OSErr COS_FileWrite(SInt16 refNum, const void *buffPtr, SInt32 count) {
- return FSWrite(refNum, &count, buffPtr);
-}
-
-OSErr COS_FileGetPos(SInt16 refNum, SInt32 *filePos) {
- return GetFPos(refNum, filePos);
-}
-
-OSErr COS_FileSetPos(SInt16 refNum, SInt32 filePos) {
- return SetFPos(refNum, fsFromStart, filePos);
-}
-
-OSErr COS_FileClose(SInt16 refNum) {
- return FSClose(refNum);
-}
-
-void COS_FileSetFSSpec(FSSpec *spec, ConstStringPtr path) {
- char buf[256];
- OSSpec ospec;
-
- memcpy(buf, path + 1, path[0]);
- buf[path[0]] = 0;
-
- if (OS_MakeSpec(buf, &ospec, NULL) || OS_OSSpec_To_FSSpec(&ospec, spec)) {
- spec->vRefNum = 0;
- spec->parID = 0;
- c2pstrcpy(spec->name, buf);
- }
-}
-
-OSErr COS_FileMakeFSSpec(SInt16 vRefNum, SInt32 dirID, ConstStringPtr fileName, FSSpec *spec) {
- int oerr;
- OSPathSpec opspec;
- char buf[256];
- OSSpec ospec;
-
- oerr = OS_VolDir_To_OSPathSpec(vRefNum, dirID, &opspec);
- if (oerr)
- return OS_MacError(oerr);
-
- p2cstrcpy(buf, fileName);
- oerr = OS_MakeSpecWithPath(&opspec, buf, 0, &ospec);
- if (oerr) {
- pstrncpy(spec->name, fileName, 256);
- return OS_MacError(oerr);
- } else {
- return OS_MacError(OS_OSSpec_To_FSSpec(&ospec, spec));
- }
-}
-
-OSErr COS_FileMakeFSSpecWithPath(const FSSpec *inputSpec, ConstStringPtr fileName, FSSpec *spec) {
- spec->vRefNum = inputSpec->vRefNum;
- spec->parID = inputSpec->parID;
- COS_pstrcpy(spec->name, fileName);
- return noErr;
-}
-
-OSErr COS_FileGetFileInfo(const FSSpec *spec, OSType *creator, OSType *fileType) {
- OSErr err;
- FInfo fi;
- err = HGetFInfo(spec->vRefNum, spec->parID, spec->name, &fi);
- if (fileType)
- *fileType = fi.fdType;
- if (creator)
- *creator = fi.fdCreator;
- return err;
-}
-
-void COS_FileGetFSSpecInfo(const FSSpec *spec, SInt16 *vRefNum, SInt32 *dirID, StringPtr fileName) {
- if (vRefNum)
- *vRefNum = spec->vRefNum;
- if (dirID)
- *dirID = spec->parID;
- if (fileName)
- COS_pstrcpy(fileName, spec->name);
-}
-
-static void COS_MakePath(SInt16 vRefNum, SInt32 dirID, StringPtr path) {
- FSSpec fss;
- OSSpec oss;
- fss.vRefNum = vRefNum;
- fss.parID = dirID;
- COS_pstrcpy(fss.name, path);
- if (!OS_FSSpec_To_OSSpec(&fss, &oss)) {
- OS_SpecToString(&oss, (char *) path, 256);
- c2pstr((char *) path);
- }
-}
-
-void COS_FileGetPathName(char *buffer, const FSSpec *spec, SInt32 *mdDat) {
- HParamBlockRec rec;
-
- if (mdDat) {
- rec.fileParam.ioNamePtr = (StringPtr) spec->name;
- rec.fileParam.ioVRefNum = spec->vRefNum;
- rec.fileParam.ioDirID = spec->parID;
- rec.fileParam.ioFDirIndex = 0;
- if (!PBHGetFInfoSync(&rec))
- *mdDat = rec.fileParam.ioFlMdDat;
- else
- *mdDat = 0;
- }
-
- COS_pstrcpy((StringPtr) buffer, spec->name);
- COS_MakePath(spec->vRefNum, spec->parID, (StringPtr) buffer);
- p2cstr((StringPtr) buffer);
-}
-
-int COS_EqualFileSpec(const FSSpec *a, const FSSpec *b) {
- if (a->vRefNum != b->vRefNum)
- return 0;
- if (a->parID != b->parID)
- return 0;
- return COS_pstrcmp(a->name, b->name) == 0;
-}