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 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`` application. The mount point can be any directory. The name ``/tftp``
used in the figure serves only as an example. The final unmounting and used in the figure serves only as an example. The final unmounting and
remove directory steps are optional. remove directory steps are optional.
.. _usage:
.. figure:: ../images/filesystem/tftpfs_usage.png .. figure:: ../images/filesystem/tftpfs_usage.png
:width: 90% :width: 75%
:align: center :align: center
:alt: TFTP Usage Diagram :alt: TFTP Usage Diagram
TFTP file system usage
Mounting the TFTP Filesystem 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