55 */
66
77#include " FS.h"
8- #include " fujiCommandID.h"
98
109#include < stdlib.h>
1110#include < string.h>
1211
1312#include " ../../include/debug.h"
1413
15- #include " status_error_codes.h"
1614#include " utils.h"
1715
1816#include < cstring>
@@ -32,32 +30,31 @@ NetworkProtocolFS::~NetworkProtocolFS()
3230{
3331}
3432
35- netProtoErr_t NetworkProtocolFS::open (PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
33+ netProtoErr_t NetworkProtocolFS::open (PeoplesUrlParser *urlParser, netProtoOpenMode_t omode,
34+ netProtoTranslation_t translate)
3635{
3736 // Call base class.
38- NetworkProtocol::open (url, cmdFrame );
37+ NetworkProtocol::open (urlParser, omode, translate );
3938 fileSize = 0 ;
4039
4140 update_dir_filename (opened_url);
4241
43- if (mount (url ) == true )
42+ if (mount (urlParser ) == true )
4443 return NETPROTO_ERR_UNSPECIFIED;
4544
46- if (cmdFrame-> aux1 == 6 || cmdFrame-> aux1 == 7 )
45+ if (omode == NETPROTO_OPEN_DIRECTORY || omode == NETPROTO_OPEN_DIRECTORY_ALT )
4746 {
48- return open_dir ();
49- }
50- else
51- {
52- return open_file ();
47+ return open_dir (translate);
5348 }
49+
50+ return open_file (omode);
5451}
5552
56- netProtoErr_t NetworkProtocolFS::open_file ()
53+ netProtoErr_t NetworkProtocolFS::open_file (netProtoOpenMode_t omode )
5754{
5855 update_dir_filename (opened_url);
5956
60- if (aux1_open == 4 || aux1_open == 8 )
57+ if (omode == NETPROTO_OPEN_READ || omode == NETPROTO_OPEN_WRITE )
6158 resolve ();
6259 else
6360 stat ();
@@ -69,10 +66,10 @@ netProtoErr_t NetworkProtocolFS::open_file()
6966 if (opened_url->path .empty ())
7067 return NETPROTO_ERR_UNSPECIFIED;
7168
72- return open_file_handle ();
69+ return open_file_handle (omode );
7370}
7471
75- netProtoErr_t NetworkProtocolFS::open_dir ()
72+ netProtoErr_t NetworkProtocolFS::open_dir (netProtoTranslation_t a2mode )
7673{
7774 openMode = DIR;
7875#ifndef BUILD_ATARI
@@ -108,10 +105,10 @@ netProtoErr_t NetworkProtocolFS::open_dir()
108105 if (entryBuffer.at (0 ) == ' .' || entryBuffer.at (0 ) == ' /' )
109106 continue ;
110107
111- if (aux2_open & NETPROTO_A2_FLAG)
108+ if (a2mode & NETPROTO_A2_FLAG)
112109 {
113110 // Long entry
114- if (aux2_open == NETPROTO_A2_80COL) // Apple2 80 col format.
111+ if (a2mode == NETPROTO_A2_80COL) // Apple2 80 col format.
115112 dirBuffer += util_long_entry_apple2_80col ((char *)entryBuffer.data (), fileSize, is_directory) + lineEnding;
116113 else
117114 dirBuffer += util_long_entry ((char *)entryBuffer.data (), fileSize, is_directory) + lineEnding;
@@ -295,7 +292,7 @@ netProtoErr_t NetworkProtocolFS::status_file(NetworkStatus *status)
295292{
296293 unsigned int remaining;
297294
298- if (aux1_open == 8 ) {
295+ if (opened_write ) {
299296 remaining = fileSize;
300297 }
301298 else {
@@ -326,49 +323,6 @@ netProtoErr_t NetworkProtocolFS::status_dir(NetworkStatus *status)
326323 return NETPROTO_ERR_NONE;
327324}
328325
329- AtariSIODirection NetworkProtocolFS::special_inquiry (fujiCommandID_t cmd)
330- {
331- AtariSIODirection ret;
332-
333- switch (cmd)
334- {
335- default :
336- ret = SIO_DIRECTION_INVALID; // Not implemented.
337- }
338-
339- return ret;
340- }
341-
342- netProtoErr_t NetworkProtocolFS::special_00 (cmdFrame_t *cmdFrame)
343- {
344- switch (cmdFrame->comnd )
345- {
346- default :
347- error = NETWORK_ERROR_NOT_IMPLEMENTED;
348- return NETPROTO_ERR_UNSPECIFIED;
349- }
350- }
351-
352- netProtoErr_t NetworkProtocolFS::special_40 (uint8_t *sp_buf, unsigned short len, cmdFrame_t *cmdFrame)
353- {
354- switch (cmdFrame->comnd )
355- {
356- default :
357- error = NETWORK_ERROR_NOT_IMPLEMENTED;
358- return NETPROTO_ERR_UNSPECIFIED;
359- }
360- }
361-
362- netProtoErr_t NetworkProtocolFS::special_80 (uint8_t *sp_buf, unsigned short len, cmdFrame_t *cmdFrame)
363- {
364- switch (cmdFrame->comnd )
365- {
366- default :
367- error = NETWORK_ERROR_NOT_IMPLEMENTED;
368- return NETPROTO_ERR_UNSPECIFIED;
369- }
370- }
371-
372326void NetworkProtocolFS::resolve ()
373327{
374328#ifdef VERBOSE_PROTOCOL
@@ -415,39 +369,38 @@ void NetworkProtocolFS::resolve()
415369#endif
416370
417371 // Clear file size, if resolved to write and not append.
418- if (aux1_open == 8 )
372+ if (opened_write )
419373 fileSize = 0 ;
420-
421374}
422375
423- netProtoErr_t NetworkProtocolFS::perform_idempotent_80 (PeoplesUrlParser *url, cmdFrame_t *cmdFrame )
376+ netProtoErr_t NetworkProtocolFS::perform_idempotent_80 (PeoplesUrlParser *url, fujiCommandID_t cmd )
424377{
425378#ifdef VERBOSE_PROTOCOL
426- Debug_printf (" NetworkProtocolFS::perform_idempotent_80, url: %s cmd: 0x%02X\r\n " , url->url .c_str (), cmdFrame-> comnd );
379+ Debug_printf (" NetworkProtocolFS::perform_idempotent_80, url: %s cmd: 0x%02X\r\n " , url->url .c_str (), cmd );
427380#endif
428- switch (cmdFrame-> comnd )
381+ switch (cmd )
429382 {
430383 case FUJICMD_RENAME:
431- return rename (url, cmdFrame );
384+ return rename (url);
432385 case FUJICMD_DELETE:
433- return del (url, cmdFrame );
386+ return del (url);
434387 case FUJICMD_LOCK:
435- return lock (url, cmdFrame );
388+ return lock (url);
436389 case FUJICMD_UNLOCK:
437- return unlock (url, cmdFrame );
390+ return unlock (url);
438391 case FUJICMD_MKDIR:
439- return mkdir (url, cmdFrame );
392+ return mkdir (url);
440393 case FUJICMD_RMDIR:
441- return rmdir (url, cmdFrame );
394+ return rmdir (url);
442395 default :
443396#ifdef VERBOSE_PROTOCOL
444- Debug_printf (" Uncaught idempotent command: 0x%02X\r\n " , cmdFrame-> comnd );
397+ Debug_printf (" Uncaught idempotent command: 0x%02X\r\n " , cmd );
445398#endif
446399 return NETPROTO_ERR_UNSPECIFIED;
447400 }
448401}
449402
450- netProtoErr_t NetworkProtocolFS::rename (PeoplesUrlParser *url, cmdFrame_t *cmdFrame )
403+ netProtoErr_t NetworkProtocolFS::rename (PeoplesUrlParser *url)
451404{
452405 update_dir_filename (url);
453406
@@ -471,28 +424,3 @@ netProtoErr_t NetworkProtocolFS::rename(PeoplesUrlParser *url, cmdFrame_t *cmdFr
471424
472425 return NETPROTO_ERR_NONE;
473426}
474-
475- netProtoErr_t NetworkProtocolFS::del (PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
476- {
477- return NETPROTO_ERR_NONE;
478- }
479-
480- netProtoErr_t NetworkProtocolFS::mkdir (PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
481- {
482- return NETPROTO_ERR_NONE;
483- }
484-
485- netProtoErr_t NetworkProtocolFS::rmdir (PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
486- {
487- return NETPROTO_ERR_NONE;
488- }
489-
490- netProtoErr_t NetworkProtocolFS::lock (PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
491- {
492- return NETPROTO_ERR_NONE;
493- }
494-
495- netProtoErr_t NetworkProtocolFS::unlock (PeoplesUrlParser *url, cmdFrame_t *cmdFrame)
496- {
497- return NETPROTO_ERR_NONE;
498- }
0 commit comments