From 59b80401167bd0ade5895b18566eb589e78798db Mon Sep 17 00:00:00 2001 From: Ian C Date: Fri, 28 Feb 2020 13:06:16 +0000 Subject: Changed doc format to straight ASCII. Added some extra details. --- doc/protocol.md | 89 ------------------------------ doc/protocol.txt | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+), 89 deletions(-) delete mode 100644 doc/protocol.md create mode 100644 doc/protocol.txt diff --git a/doc/protocol.md b/doc/protocol.md deleted file mode 100644 index b804df7..0000000 --- a/doc/protocol.md +++ /dev/null @@ -1,89 +0,0 @@ -Next File Transfer Protocol -=========================== - -Introduction ------------- - -Next File Transfer uses a simple protocol where a single character defines -a message type. - -The following are standard compents of a message: - -> 5 ASCII digits making up a zero-padded number. -> A stream of N bytes. - - -Put File --------- - -The format of the message from the client is: - -> A Put file command -> Length of filename -> The filename -> Length of the data for the file. -> The data. - -The server responds with either: - -> OK The command completed OK - -or: - -> !E There was an error writing the file. - - -Get File --------- - -The format of the message from the client is: - -> B Put file command -> Length of filename -> The filename - -The server responds with either: - -> OK The command completed OK. The file contents will follow. -> The length of the following data. -> The data frin from the file. - -or: - -> !E There was an error reading the file. - - -Change Directory ----------------- - -The format of the message from the client is: - -> C Change directory command -> NNNNN Length of pathname -> The pathname - -The server responds with either: - -> OK The command completed OK - -or: - -> !E There was an error changing to the directory - - -Create Directory ----------------- - -The format of the message from the client is: - -> D Create directory command -> NNNNN Length of pathname -> The pathname - -The server responds with either: - -> OK The command completed OK - -or: - -> !E There was an error creating the directory diff --git a/doc/protocol.txt b/doc/protocol.txt new file mode 100644 index 0000000..20378a0 --- /dev/null +++ b/doc/protocol.txt @@ -0,0 +1,163 @@ +Next File Transfer Protocol +=========================== + +Introduction +------------ + +Next File Transfer uses a simple protocol where a 2 character code defines +a message type. + +The following are standard compents of a message: + + +------------+------------------------------------------------------+ + | | 5 ASCII digits making up a zero-padded number | + +------------+------------------------------------------------------+ + | | A stream of N bytes | + +------------+------------------------------------------------------+ + + +Put File +-------- + +The format of the message from the client is: + + +------------+------------------------------------------------------+ + | PF | Put file command | + +------------+------------------------------------------------------+ + | | Length of filename | + +------------+------------------------------------------------------+ + | | The filename | + +------------+------------------------------------------------------+ + | | Length of the data for the file | + +------------+------------------------------------------------------+ + | | The data | + +------------+------------------------------------------------------+ + +The server responds with either: + + +------------+------------------------------------------------------+ + | OK | The command completed OK | + +------------+------------------------------------------------------+ + +or: + + +------------+------------------------------------------------------+ + | !E | There was an error writing the file | + +------------+------------------------------------------------------+ + + +Get File +-------- + +The format of the message from the client is: + + +------------+------------------------------------------------------+ + | GF | Get file command | + +------------+------------------------------------------------------+ + | | Length of filename | + +------------+------------------------------------------------------+ + | | The filename | + +------------+------------------------------------------------------+ + +The server responds with either: + + +------------+------------------------------------------------------+ + | OK | The command completed OK. The file contents will | + | | follow. | + +------------+------------------------------------------------------+ + | | Length of the following data | + +------------+------------------------------------------------------+ + | | The data from from the file | + +------------+------------------------------------------------------+ + +or: + + +------------+------------------------------------------------------+ + | !E | There was an error reading the file | + +------------+------------------------------------------------------+ + + +Change Directory +---------------- + +The format of the message from the client is: + + +------------+------------------------------------------------------+ + | CD | Change directory command | + +------------+------------------------------------------------------+ + | | Length of pathname | + +------------+------------------------------------------------------+ + | | The pathname | + +------------+------------------------------------------------------+ + +The server responds with either: + + +------------+------------------------------------------------------+ + | OK | The command completed OK | + +------------+------------------------------------------------------+ + +or: + + +------------+------------------------------------------------------+ + | !E | There was an error changing to the directory | + +------------+------------------------------------------------------+ + + +Create Directory +---------------- + +The format of the message from the client is: + + +------------+------------------------------------------------------+ + | MD | Create directory command | + +------------+------------------------------------------------------+ + | | Length of pathname | + +------------+------------------------------------------------------+ + | | The pathname | + +------------+------------------------------------------------------+ + +The server responds with either: + + +------------+------------------------------------------------------+ + | OK | The command completed OK | + +------------+------------------------------------------------------+ + +or: + + +------------+------------------------------------------------------+ + | !E | There was an error creating the directory | + +------------+------------------------------------------------------+ + + +List Files +---------- + +The format of the message from the client is: + + +------------+------------------------------------------------------+ + | LS | List files command | + +------------+------------------------------------------------------+ + +The server responds with either: + + +------------+------------------------------------------------------+ + | OK | The command completed OK | + +------------+------------------------------------------------------+ + | | The number of filenames | + +------------+------------------------------------------------------+ + | | Length of filename 1 | + +------------+------------------------------------------------------+ + | | Filename 1 | + +------------+------------------------------------------------------+ + ... above 2 fields repeated ... + +------------+------------------------------------------------------+ + | | Length of filename N | + +------------+------------------------------------------------------+ + | | Filename N | + +------------+------------------------------------------------------+ + +or: + + +------------+------------------------------------------------------+ + | !E | There was an error reading the directory | + +------------+------------------------------------------------------+ -- cgit v1.2.3