mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-14 09:49:53 +08:00
TFTPFS: Adding missing diagram
This commit is contained in:
parent
c9c5a17ee1
commit
e3cbdca981
@ -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
|
||||
----------------------------
|
||||
|
||||
|
BIN
images/filesystem/tftpfs_usage.png
Normal file
BIN
images/filesystem/tftpfs_usage.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
37
images/filesystem/tftpfs_usage.puml
Normal file
37
images/filesystem/tftpfs_usage.puml
Normal 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
|
Loading…
x
Reference in New Issue
Block a user