diff options
Diffstat (limited to 'doc/protocol.md')
-rw-r--r-- | doc/protocol.md | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/doc/protocol.md b/doc/protocol.md new file mode 100644 index 0000000..b804df7 --- /dev/null +++ b/doc/protocol.md @@ -0,0 +1,89 @@ +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: + +> <NNNNN> 5 ASCII digits making up a zero-padded number. +> <N bytes> A stream of N bytes. + + +Put File +-------- + +The format of the message from the client is: + +> A Put file command +> <NNNNN> Length of filename +> <N bytes> The filename +> <NNNNN> Length of the data for the file. +> <N bytes> 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 +> <NNNNN> Length of filename +> <N bytes> The filename + +The server responds with either: + +> OK The command completed OK. The file contents will follow. +> <NNNNN> The length of the following data. +> <N bytes> 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 +> <N bytes> 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 +> <N bytes> The pathname + +The server responds with either: + +> OK The command completed OK + +or: + +> !E There was an error creating the directory |