forked from Imagelibrary/rtems
which contains the bulk of converting the documentation tree to automake and GNU conventions. Comments follow: This is the automake port of rtemsdoc. To apply: cvs co rtemsdoc cd rtemsdoc sh cvs-rm.sh patch -p0 < rtemsdoc-4.5.0-rc-0.diff sh cvs-add.sh [Attention: cvs-rm.sh and cvs-add.sh directly modify cvs] Known bugs: 1) src2html is not supported (yet? - Is this supposed to work?) 2) all *.pdf images now are generated on-the-fly, but not yet deleted during "make distclean" 3) All supplements, including the templated ones, get build and installed. 4) Building outside of the source tree is completely untested and very likely does not work. 5) Make [ps|pdf] are not (yet) supported, make [dvi|info] are supported by automake's default texinfo rules. Fixing 2, 3 and 5 is almost trivial and needs to be done. 4) is a matter of testing and tool-properties, for now it is simply untested. General issues: * gif vs jpg vs png. I would recommend to replace all images with pngs to avoid potential copyright issues (gif) or lack in quality (jpg, jpg is good for real world photographs, but extremely poor on artificial images, graphs). * pdf images do net get placed correctly in pdf-documents. * texinfo: We now use a local copy of texinfo-4.0's texinfo.tex in texinfo/texinfo.tex for generating infos. However pdftex's system-wide texinfo.tex and pdftexinfo.tex are used for generating *.dvi, *.ps, *.pdf. * .cvsignore files still missing. * I have renamed the supplements filename not to use c_<supplement>, because automake seems to have problems with it. Notes: * Again, I recommend not to put any generated files into CVS. Here, this comprises some *texi, all *.pdf and many *.html pages. Ie. I recommend to run make maintainer-clean before checking in any files. * To get building started, this should be sufficient: ./bootstrap ./configure cd tools; make; cd .. make info * To make a public tarball: [cvs co ; ./bootstrap] ./configure cd tools; make; cd .. make info [make clean] make dist => This generates a rtems-<version>.tar.gz in the toplevel directory. => Building the tools only is required after a "cvs co", but not in a distribution tarball.
56 lines
1.7 KiB
Perl
56 lines
1.7 KiB
Perl
@c
|
|
@c Written by Eric Norum
|
|
@c
|
|
@c COPYRIGHT (c) 1988-1999.
|
|
@c On-Line Applications Research Corporation (OAR).
|
|
@c All rights reserved.
|
|
@c
|
|
@c $Id$
|
|
@c
|
|
|
|
@chapter Network Task Structure and Data Flow
|
|
|
|
A schematic diagram of the tasks and message @b{mbuf} queues in a
|
|
simple RTEMS networking application is shown in the following
|
|
figure:
|
|
|
|
@ifset use-ascii
|
|
@example
|
|
@group
|
|
NO ASCII VERSION OF THE TASKING FIGURE IS AVAILABLE
|
|
@end group
|
|
@end example
|
|
@end ifset
|
|
|
|
@ifset use-tex
|
|
@image{networkflow,5in,6in}
|
|
@end ifset
|
|
|
|
@ifset use-html
|
|
@html
|
|
<IMG SRC="networkflow.jpg" ALIGN=CENTER
|
|
ALT="Network Task Structure and Data Flow">
|
|
@end html
|
|
@end ifset
|
|
|
|
|
|
The transmit task for each network interface is normally blocked waiting
|
|
for a packet to arrive in the transmit queue. Once a packet arrives, the
|
|
transmit task may block waiting for an event from the transmit interrupt
|
|
handler. The transmit interrupt handler sends an RTEMS event to the transmit
|
|
task to indicate that transmit hardware resources have become available.
|
|
|
|
The receive task for each network interface is normally blocked waiting
|
|
for an event from the receive interrupt handler. When this event is received
|
|
the receive task reads the packet and forwards it to the network stack
|
|
for subsequent processing by the network task.
|
|
|
|
The network task processes incoming packets and takes care of
|
|
timed operations such as handling TCP timeouts and
|
|
aging and removing routing table entries.
|
|
|
|
The `Network code' contains routines which may run in the context of
|
|
the user application tasks, the interface receive task or the network task.
|
|
A network semaphore ensures that
|
|
the data structures manipulated by the network code remain consistent.
|