From 9fc13e108a71a1298d1280c0a8d9a429baddd319 Mon Sep 17 00:00:00 2001 From: Stephen Heumann Date: Sun, 12 Aug 2018 22:01:25 -0500 Subject: [PATCH] Implement image mounting in the CDev. --- cdev.c | 28 +++++++++++++++++++++++++++- cdev.rez | 12 ++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/cdev.c b/cdev.c index 9d9c597..c2ec569 100644 --- a/cdev.c +++ b/cdev.c @@ -2,13 +2,17 @@ #include #include +#include #include #include #include +#include #include #include #include #include +#include +#include "mounturl.h" #define MachineCDEV 1 #define BootCDEV 2 @@ -28,17 +32,39 @@ //#define optionsPopUp 6 //#define trianglePic 7 +#define mountURLError 3000 + extern void FreeAllCDevMem(void); char urlBuf[257]; WindowPtr wPtr = NULL; +struct MountURLRec mountURLRec = {sizeof(struct MountURLRec)}; + void DoMount(void) { + char numStr[6] = ""; + char *subs[1] = {numStr}; + + WaitCursor(); + GetLETextByID(wPtr, urlLine, (StringPtr)&urlBuf); - //TODO + mountURLRec.result = NETDISK_NOT_PRESENT; + mountURLRec.url = urlBuf + 1; + + SendRequest(MountURL, sendToName|stopAfterOne, (Long)NETDISK_REQUEST_NAME, + (Long)&mountURLRec, NULL); + + InitCursor(); + + if (mountURLRec.result != OPERATION_SUCCESSFUL) { + //TODO better error messages + snprintf(numStr, sizeof(numStr), "%u", mountURLRec.result); + AlertWindow(awResource+awCString+awButtonLayout, (Pointer)subs, + mountURLError); + } } void DoHit(long ctlID, CtlRecHndl ctlHandle) diff --git a/cdev.rez b/cdev.rez index 12b1877..3aab98e 100644 --- a/cdev.rez +++ b/cdev.rez @@ -255,3 +255,15 @@ resource rTextForLETextBox2 (helpWindow+helpTxt) { "hosted on HTTP servers.\n" }; + +/* + * Error messages + */ + +#define mountURLError 3000 + +resource rAlertString (mountURLError) { + "32:" + "MountURL error *0." + ":^#0\$00" +};