From fa39132cdc677dec30c0e6f048ac69901e11f4ac Mon Sep 17 00:00:00 2001 From: Charles Lehner Date: Sun, 28 Sep 2014 11:18:27 -0400 Subject: [PATCH 1/2] Add GetWDInfo glue --- libretro/glue.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libretro/glue.c b/libretro/glue.c index aa3963faf6..8f57ad7a0f 100644 --- a/libretro/glue.c +++ b/libretro/glue.c @@ -187,3 +187,18 @@ pascal OSErr Create (ConstStr255Param fileName, short vRefNum, OSType creator, // save finder info return PBSetFInfoSync(&pb); } + +pascal OSErr GetWDInfo(short wdRefNum, short *vRefNum, long *dirID, + long *procID) +{ + OSErr err; + WDPBRec pb; + memset(&pb, 0, sizeof(pb)); + pb.ioVRefNum = wdRefNum; + err = PBGetWDInfo(&pb, false); + *vRefNum = pb.ioWDVRefNum; + *dirID = pb.ioWDDirID; + *procID = pb.ioWDProcID; + return err; +} + From 6f2812ca65e38d55ffb497faa72109781fbd4bf8 Mon Sep 17 00:00:00 2001 From: Charles Lehner Date: Sun, 28 Sep 2014 22:54:46 -0400 Subject: [PATCH 2/2] Add OpenDriver and CloseDriver glue --- libretro/glue.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libretro/glue.c b/libretro/glue.c index 8f57ad7a0f..0541538d6b 100644 --- a/libretro/glue.c +++ b/libretro/glue.c @@ -202,3 +202,20 @@ pascal OSErr GetWDInfo(short wdRefNum, short *vRefNum, long *dirID, return err; } +pascal OSErr OpenDriver(ConstStr255Param name, short *drvrRefNum) +{ + ParamBlockRec pb; + OSErr err; + memset(&pb, 0, sizeof(pb)); + + pb.ioParam.ioNamePtr = (StringPtr)name; + + err = PBOpenSync(&pb); + *drvrRefNum = pb.ioParam.ioRefNum; + return err; +} + +pascal OSErr CloseDriver(short refNum) +{ + return FSClose(refNum); +}