TFTPFS: Adding missing diagram

This commit is contained in:
Frank Kühndel 2022-10-13 17:41:33 +02:00 committed by Chris Johns
parent c9c5a17ee1
commit e3cbdca981
3 changed files with 43 additions and 2 deletions

View File

@ -275,16 +275,20 @@ repository):
Usage
=====
The following diagram shows how the TFTP filesystem is used by an
The following diagram usage_ shows how the TFTP filesystem is used by an
application. The mount point can be any directory. The name ``/tftp``
used in the figure serves only as an example. The final unmounting and
remove directory steps are optional.
.. _usage:
.. figure:: ../images/filesystem/tftpfs_usage.png
:width: 90%
:width: 75%
:align: center
:alt: TFTP Usage Diagram
TFTP file system usage
Mounting the TFTP Filesystem
----------------------------

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -0,0 +1,37 @@
'
' TFTP file system : usage
'
' Copyright (c) 2022 Frank Kuehndel <frank.kuehndel@embedded-brains.de>
' All rights reserved.
'
@startuml
:Initialize libbsd;
:Initialize Networking;
:const char *mount_point = "/tftp"
result = mkdir( mount_point, S_IRWXU | S_IRWXG | S_IRWXO );
:result = mount(
"",
mount_point,
RTEMS_FILESYSTEM_TYPE_TFTPFS,
RTEMS_FILESYSTEM_READ_WRITE,
"blocksize=1024,windowsize=4,verbose"
);
repeat
if () then
:fd = open( path, O_RDONLY );
repeat
:bytes = read( fd, data_buffer,
sizeof( data_buffer ) );
repeat while ()
:result = close( fd );
else
:fd = open( path, O_WRONLY );
repeat
:bytes = write( fd, data, size );
repeat while ()
:result = close( fd );
endif
repeat while ()
:result = unmount( mount_point );
:result = rmdir( mount_point );
@enduml