aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac13
-rw-r--r--contrib/.gitignore1
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/handbook/.gitignore (renamed from doc/documentation/.gitignore)0
-rw-r--r--doc/handbook/Makefile.am (renamed from doc/documentation/Makefile.am)50
-rw-r--r--doc/handbook/TODO (renamed from doc/documentation/TODO)0
-rw-r--r--doc/handbook/agpl-3.0.texi (renamed from doc/documentation/agpl-3.0.texi)0
-rw-r--r--doc/handbook/chapters/configuration.texi (renamed from doc/documentation/chapters/configuration.texi)0
-rw-r--r--doc/handbook/chapters/contributing.texi (renamed from doc/documentation/chapters/contributing.texi)0
-rw-r--r--doc/handbook/chapters/developer.texi (renamed from doc/documentation/chapters/developer.texi)0
-rw-r--r--doc/handbook/chapters/installation.texi (renamed from doc/documentation/chapters/installation.texi)0
-rw-r--r--doc/handbook/chapters/keyconcepts.texi (renamed from doc/documentation/chapters/keyconcepts.texi)0
-rw-r--r--doc/handbook/chapters/philosophy.texi (renamed from doc/documentation/chapters/philosophy.texi)0
-rw-r--r--doc/handbook/chapters/preface.texi (renamed from doc/documentation/chapters/preface.texi)0
-rw-r--r--doc/handbook/chapters/user.texi (renamed from doc/documentation/chapters/user.texi)0
-rw-r--r--doc/handbook/chapters/vocabulary.texi (renamed from doc/documentation/chapters/vocabulary.texi)0
-rw-r--r--doc/handbook/docstyle.css (renamed from doc/documentation/docstyle.css)0
-rw-r--r--doc/handbook/fdl-1.3.texi (renamed from doc/documentation/fdl-1.3.texi)0
-rwxr-xr-xdoc/handbook/gendocs.sh (renamed from doc/documentation/gendocs.sh)0
-rw-r--r--doc/handbook/gendocs_template (renamed from doc/documentation/gendocs_template)0
-rw-r--r--doc/handbook/gendocs_template_min (renamed from doc/documentation/gendocs_template_min)0
-rw-r--r--doc/handbook/gnunet.texi (renamed from doc/documentation/gnunet.texi)0
-rw-r--r--doc/handbook/gpl-3.0.texi (renamed from doc/documentation/gpl-3.0.texi)0
-rw-r--r--doc/handbook/htmlxref.cnf (renamed from doc/documentation/htmlxref.cnf)0
-rw-r--r--doc/handbook/images/daemon_lego_block.png (renamed from doc/documentation/images/daemon_lego_block.png)bin7636 -> 7636 bytes
-rw-r--r--doc/handbook/images/daemon_lego_block.svg (renamed from doc/documentation/images/daemon_lego_block.svg)0
-rw-r--r--doc/handbook/images/gns.dot (renamed from doc/documentation/images/gns.dot)0
-rw-r--r--doc/handbook/images/gns.eps (renamed from doc/documentation/images/gns.eps)0
-rw-r--r--doc/handbook/images/gns.jpg (renamed from doc/documentation/images/gns.jpg)bin41765 -> 41765 bytes
-rw-r--r--doc/handbook/images/gnunet-0-10-peerinfo.png (renamed from doc/documentation/images/gnunet-0-10-peerinfo.png)bin80127 -> 80127 bytes
-rw-r--r--doc/handbook/images/gnunet-fs-gtk-0-10-star-tab.png (renamed from doc/documentation/images/gnunet-fs-gtk-0-10-star-tab.png)bin63464 -> 63464 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-download-area.png (renamed from doc/documentation/images/gnunet-gtk-0-10-download-area.png)bin7634 -> 7634 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-fs-menu.png (renamed from doc/documentation/images/gnunet-gtk-0-10-fs-menu.png)bin8614 -> 8614 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-fs-publish-editing.png (renamed from doc/documentation/images/gnunet-gtk-0-10-fs-publish-editing.png)bin55507 -> 55507 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-fs-publish-select.png (renamed from doc/documentation/images/gnunet-gtk-0-10-fs-publish-select.png)bin43448 -> 43448 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-fs-publish-with-file.png (renamed from doc/documentation/images/gnunet-gtk-0-10-fs-publish-with-file.png)bin27371 -> 27371 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-fs-publish-with-file_0.png (renamed from doc/documentation/images/gnunet-gtk-0-10-fs-publish-with-file_0.png)bin27371 -> 27371 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-fs-publish.png (renamed from doc/documentation/images/gnunet-gtk-0-10-fs-publish.png)bin26496 -> 26496 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-fs-published.png (renamed from doc/documentation/images/gnunet-gtk-0-10-fs-published.png)bin59635 -> 59635 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-fs-search.png (renamed from doc/documentation/images/gnunet-gtk-0-10-fs-search.png)bin72151 -> 72151 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-fs.png (renamed from doc/documentation/images/gnunet-gtk-0-10-fs.png)bin55706 -> 55706 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-gns-a-done.png (renamed from doc/documentation/images/gnunet-gtk-0-10-gns-a-done.png)bin30880 -> 30880 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-gns-a.png (renamed from doc/documentation/images/gnunet-gtk-0-10-gns-a.png)bin29895 -> 29895 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-gns.png (renamed from doc/documentation/images/gnunet-gtk-0-10-gns.png)bin63783 -> 63783 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-identity.png (renamed from doc/documentation/images/gnunet-gtk-0-10-identity.png)bin62404 -> 62404 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-search-selected.png (renamed from doc/documentation/images/gnunet-gtk-0-10-search-selected.png)bin104599 -> 104599 bytes
-rw-r--r--doc/handbook/images/gnunet-gtk-0-10-traffic.png (renamed from doc/documentation/images/gnunet-gtk-0-10-traffic.png)bin68515 -> 68515 bytes
-rw-r--r--doc/handbook/images/gnunet-namestore-gtk-phone.png (renamed from doc/documentation/images/gnunet-namestore-gtk-phone.png)bin32631 -> 32631 bytes
-rw-r--r--doc/handbook/images/gnunet-namestore-gtk-vpn.png (renamed from doc/documentation/images/gnunet-namestore-gtk-vpn.png)bin35836 -> 35836 bytes
-rw-r--r--doc/handbook/images/gnunet-setup-exit.png (renamed from doc/documentation/images/gnunet-setup-exit.png)bin30062 -> 30062 bytes
-rw-r--r--doc/handbook/images/gnunet-tutorial-service.png (renamed from doc/documentation/images/gnunet-tutorial-service.png)bin40142 -> 40142 bytes
-rw-r--r--doc/handbook/images/gnunet-tutorial-system.png (renamed from doc/documentation/images/gnunet-tutorial-system.png)bin46982 -> 46982 bytes
-rw-r--r--doc/handbook/images/iceweasel-preferences.png (renamed from doc/documentation/images/iceweasel-preferences.png)bin57047 -> 57047 bytes
-rw-r--r--doc/handbook/images/iceweasel-proxy.png (renamed from doc/documentation/images/iceweasel-proxy.png)bin38773 -> 38773 bytes
-rw-r--r--doc/handbook/images/lego_stack.svg (renamed from doc/documentation/images/lego_stack.svg)0
-rw-r--r--doc/handbook/images/service_lego_block.png (renamed from doc/documentation/images/service_lego_block.png)bin15157 -> 15157 bytes
-rw-r--r--doc/handbook/images/service_lego_block.svg (renamed from doc/documentation/images/service_lego_block.svg)0
-rw-r--r--doc/handbook/images/service_stack.png (renamed from doc/documentation/images/service_stack.png)bin18862 -> 18862 bytes
-rw-r--r--doc/handbook/images/structure.dot (renamed from doc/documentation/images/structure.dot)0
-rw-r--r--doc/handbook/index.html (renamed from doc/documentation/index.html)0
-rwxr-xr-xdoc/handbook/run-gendocs.sh (renamed from doc/documentation/run-gendocs.sh)0
-rw-r--r--doc/tutorial/Makefile.am145
-rw-r--r--doc/tutorial/examples/001.c (renamed from doc/documentation/tutorial-examples/001.c)0
-rw-r--r--doc/tutorial/examples/002.c (renamed from doc/documentation/tutorial-examples/002.c)0
-rw-r--r--doc/tutorial/examples/003.c (renamed from doc/documentation/tutorial-examples/003.c)0
-rw-r--r--doc/tutorial/examples/004.c (renamed from doc/documentation/tutorial-examples/004.c)0
-rw-r--r--doc/tutorial/examples/005.c (renamed from doc/documentation/tutorial-examples/005.c)0
-rw-r--r--doc/tutorial/examples/006.c (renamed from doc/documentation/tutorial-examples/006.c)0
-rw-r--r--doc/tutorial/examples/007.c (renamed from doc/documentation/tutorial-examples/007.c)0
-rw-r--r--doc/tutorial/examples/008.c (renamed from doc/documentation/tutorial-examples/008.c)0
-rw-r--r--doc/tutorial/examples/009.c (renamed from doc/documentation/tutorial-examples/009.c)0
-rw-r--r--doc/tutorial/examples/010.c (renamed from doc/documentation/tutorial-examples/010.c)0
-rw-r--r--doc/tutorial/examples/011.c (renamed from doc/documentation/tutorial-examples/011.c)0
-rw-r--r--doc/tutorial/examples/012.c (renamed from doc/documentation/tutorial-examples/012.c)0
-rw-r--r--doc/tutorial/examples/013.1.c (renamed from doc/documentation/tutorial-examples/013.1.c)0
-rw-r--r--doc/tutorial/examples/013.c (renamed from doc/documentation/tutorial-examples/013.c)0
-rw-r--r--doc/tutorial/examples/014.c (renamed from doc/documentation/tutorial-examples/014.c)0
-rw-r--r--doc/tutorial/examples/015.c (renamed from doc/documentation/tutorial-examples/015.c)0
-rw-r--r--doc/tutorial/examples/016.c (renamed from doc/documentation/tutorial-examples/016.c)0
-rw-r--r--doc/tutorial/examples/017.c (renamed from doc/documentation/tutorial-examples/017.c)0
-rw-r--r--doc/tutorial/examples/018.c (renamed from doc/documentation/tutorial-examples/018.c)0
-rw-r--r--doc/tutorial/examples/019.c (renamed from doc/documentation/tutorial-examples/019.c)0
-rw-r--r--doc/tutorial/examples/020.c (renamed from doc/documentation/tutorial-examples/020.c)0
-rw-r--r--doc/tutorial/examples/021.c (renamed from doc/documentation/tutorial-examples/021.c)0
-rw-r--r--doc/tutorial/examples/022.c (renamed from doc/documentation/tutorial-examples/022.c)0
-rw-r--r--doc/tutorial/examples/023.c (renamed from doc/documentation/tutorial-examples/023.c)0
-rw-r--r--doc/tutorial/examples/024.c (renamed from doc/documentation/tutorial-examples/024.c)0
-rw-r--r--doc/tutorial/examples/025.Makefile.am (renamed from doc/documentation/tutorial-examples/025.Makefile.am)0
-rw-r--r--doc/tutorial/examples/026.c (renamed from doc/documentation/tutorial-examples/026.c)0
-rw-r--r--doc/tutorial/examples/testbed_test.c (renamed from doc/documentation/testbed_test.c)0
-rw-r--r--doc/tutorial/fdl-1.3.texi505
-rw-r--r--doc/tutorial/gnunet-tutorial.texi (renamed from doc/documentation/gnunet-c-tutorial.texi)69
92 files changed, 701 insertions, 84 deletions
diff --git a/configure.ac b/configure.ac
index d2f2bddd8..208c7772c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -878,7 +878,7 @@ there_can_only_be_one=1
878 878
879working_libidn1=0 879working_libidn1=0
880working_libidn2=0 880working_libidn2=0
881AS_IF([test $my_with_libidn2 = 1], 881AS_IF([test x$my_with_libidn2 = x1],
882 [AC_MSG_NOTICE([Checking for libidn2]) 882 [AC_MSG_NOTICE([Checking for libidn2])
883 AC_CHECK_LIB([idn2], 883 AC_CHECK_LIB([idn2],
884 [idn2_to_unicode_8z8z], 884 [idn2_to_unicode_8z8z],
@@ -890,8 +890,8 @@ AS_IF([test $my_with_libidn2 = 1],
890 [MISSING_DEPS="${MISSING_DEPS}${MISSING_SEP}libidn2" 890 [MISSING_DEPS="${MISSING_DEPS}${MISSING_SEP}libidn2"
891 MISSING_SEP=", "])]) 891 MISSING_SEP=", "])])
892AM_CONDITIONAL(HAVE_LIBIDN2, test x$working_libidn2 = x1) 892AM_CONDITIONAL(HAVE_LIBIDN2, test x$working_libidn2 = x1)
893AS_IF([test $working_libidn2 = 0], 893AS_IF([test x$working_libidn2 = x0],
894 [AS_IF([test $my_with_libidn = 1], 894 [AS_IF([test x$my_with_libidn = x1],
895 [AC_MSG_NOTICE([Checking for libidn]) 895 [AC_MSG_NOTICE([Checking for libidn])
896 AC_CHECK_LIB([idn], 896 AC_CHECK_LIB([idn],
897 [idna_to_ascii_8z], 897 [idna_to_ascii_8z],
@@ -901,7 +901,7 @@ AS_IF([test $working_libidn2 = 0],
901 [1], 901 [1],
902 [Define to 1 if you have 'libidn' (-lidn).])], 902 [Define to 1 if you have 'libidn' (-lidn).])],
903 [there_can_only_be_one=0])], 903 [there_can_only_be_one=0])],
904 [AS_IF([test $my_with_libidn2 = 1], 904 [AS_IF([test x$my_with_libidn2 = x1],
905 [there_can_only_be_one=0 905 [there_can_only_be_one=0
906 AC_MSG_FAILURE([* There can only be one libidn. 906 AC_MSG_FAILURE([* There can only be one libidn.
907 * Provide either libidn >= 1.13 907 * Provide either libidn >= 1.13
@@ -912,7 +912,7 @@ AS_IF([test $working_libidn2 = 0],
912 * --with-libidn])])])]) 912 * --with-libidn])])])])
913AM_CONDITIONAL(HAVE_LIBIDN, test x$working_libidn1 = x1) 913AM_CONDITIONAL(HAVE_LIBIDN, test x$working_libidn1 = x1)
914 914
915AS_IF([test $there_can_only_be_one = 0], 915AS_IF([test x$there_can_only_be_one = x0],
916 [AC_MSG_FAILURE([Missing dependencies: $MISSING_DEPS])]) 916 [AC_MSG_FAILURE([Missing dependencies: $MISSING_DEPS])])
917 917
918# test for zlib 918# test for zlib
@@ -1752,7 +1752,8 @@ contrib/Makefile
1752doc/Makefile 1752doc/Makefile
1753doc/man/Makefile 1753doc/man/Makefile
1754doc/doxygen/Makefile 1754doc/doxygen/Makefile
1755doc/documentation/Makefile 1755doc/handbook/Makefile
1756doc/tutorial/Makefile
1756m4/Makefile 1757m4/Makefile
1757po/Makefile.in 1758po/Makefile.in
1758src/Makefile 1759src/Makefile
diff --git a/contrib/.gitignore b/contrib/.gitignore
index d6ef469ba..01b6efa05 100644
--- a/contrib/.gitignore
+++ b/contrib/.gitignore
@@ -6,3 +6,4 @@ gnunet_pyexpect.py
6gnunet_pyexpect.pyc 6gnunet_pyexpect.pyc
7pydiffer.pyc 7pydiffer.pyc
8test_gnunet_prefix 8test_gnunet_prefix
9timeout_watchdog
diff --git a/doc/Makefile.am b/doc/Makefile.am
index f60bde084..4443b42f8 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,6 +1,6 @@
1# This Makefile.am is in the public domain 1# This Makefile.am is in the public domain
2if DOCUMENTATION 2if DOCUMENTATION
3 SUBDIRS = man doxygen documentation 3 SUBDIRS = man doxygen handbook tutorial
4endif 4endif
5if !DOCUMENTATION 5if !DOCUMENTATION
6 SUBDIRS = man doxygen 6 SUBDIRS = man doxygen
diff --git a/doc/documentation/.gitignore b/doc/handbook/.gitignore
index f490c3412..f490c3412 100644
--- a/doc/documentation/.gitignore
+++ b/doc/handbook/.gitignore
diff --git a/doc/documentation/Makefile.am b/doc/handbook/Makefile.am
index cd3fca854..d12ad1af8 100644
--- a/doc/documentation/Makefile.am
+++ b/doc/handbook/Makefile.am
@@ -77,38 +77,8 @@ dist_infoimage_DATA = \
77# dvi-local: ps-local 77# dvi-local: ps-local
78 78
79 79
80gnunet_tutorial_examples = \
81 tutorial-examples/001.c \
82 tutorial-examples/002.c \
83 tutorial-examples/003.c \
84 tutorial-examples/004.c \
85 tutorial-examples/005.c \
86 tutorial-examples/006.c \
87 tutorial-examples/007.c \
88 tutorial-examples/008.c \
89 tutorial-examples/009.c \
90 tutorial-examples/010.c \
91 tutorial-examples/011.c \
92 tutorial-examples/012.c \
93 tutorial-examples/013.c \
94 tutorial-examples/013.1.c \
95 tutorial-examples/014.c \
96 tutorial-examples/015.c \
97 tutorial-examples/016.c \
98 tutorial-examples/017.c \
99 tutorial-examples/018.c \
100 tutorial-examples/019.c \
101 tutorial-examples/020.c \
102 tutorial-examples/021.c \
103 tutorial-examples/022.c \
104 tutorial-examples/023.c \
105 tutorial-examples/024.c \
106 tutorial-examples/025.Makefile.am \
107 tutorial-examples/026.c
108
109info_TEXINFOS = \ 80info_TEXINFOS = \
110 gnunet.texi \ 81 gnunet.texi
111 gnunet-c-tutorial.texi
112 82
113gnunet_TEXINFOS = \ 83gnunet_TEXINFOS = \
114 chapters/developer.texi \ 84 chapters/developer.texi \
@@ -120,11 +90,11 @@ gnunet_TEXINFOS = \
120 chapters/configuration.texi \ 90 chapters/configuration.texi \
121 chapters/contributing.texi \ 91 chapters/contributing.texi \
122 fdl-1.3.texi \ 92 fdl-1.3.texi \
123 gpl-3.0.texi 93 gpl-3.0.texi \
94 version.texi
124 95
125EXTRA_DIST = \ 96EXTRA_DIST = \
126 $(gnunet_TEXINFOS) \ 97 $(gnunet_TEXINFOS) \
127 $(gnunet_tutorial_examples) \
128 htmlxref.cnf \ 98 htmlxref.cnf \
129 gversion.texi 99 gversion.texi
130 run-gendocs.sh \ 100 run-gendocs.sh \
@@ -136,7 +106,6 @@ EXTRA_DIST = \
136 106
137DISTCLEANFILES = \ 107DISTCLEANFILES = \
138 gnunet.cps \ 108 gnunet.cps \
139 gnunet-c-tutorial.cps \
140 chapters/developer.cps \ 109 chapters/developer.cps \
141 chapters/installation.cps \ 110 chapters/installation.cps \
142 chapter/philosophy.cps \ 111 chapter/philosophy.cps \
@@ -170,10 +139,6 @@ version.texi/replacement/revert:
170 @echo "@set EDITION GPACKAGE_VERSION" >> gversion.texi 139 @echo "@set EDITION GPACKAGE_VERSION" >> gversion.texi
171 140
172if SECTION7 141if SECTION7
173gnunet-c-tutorial.7: version.texi/replacement
174 @echo Attempting to output an mdoc formatted section 7 document
175 @texi2mdoc -I$(pwd):$(pwd)/chapters gnunet-c-tutorial.texi > ../man/gnunet-c-tutorial.7
176
177gnunet-documentation.7: version.texi/replacement 142gnunet-documentation.7: version.texi/replacement
178 @echo Attempting to output an mdoc formatted section 7 document 143 @echo Attempting to output an mdoc formatted section 7 document
179 @texi2mdoc -I$(pwd):$(pwd)/chapters gnunet.texi > ../man/gnunet-documentation.7 144 @texi2mdoc -I$(pwd):$(pwd)/chapters gnunet.texi > ../man/gnunet-documentation.7
@@ -192,11 +157,8 @@ doc-all-install:
192 @mkdir -p $(DESTDIR)/$(infoimagedir) 157 @mkdir -p $(DESTDIR)/$(infoimagedir)
193 @mkdir -p $(DESTDIR)/$(infodir) 158 @mkdir -p $(DESTDIR)/$(infodir)
194 @install -m 0755 gnunet.pdf $(DESTDIR)/$(docdir) 159 @install -m 0755 gnunet.pdf $(DESTDIR)/$(docdir)
195 @install -m 0755 gnunet-c-tutorial.pdf $(DESTDIR)/$(docdir)
196 @install -m 0755 gnunet-c-tutorial.info $(DESTDIR)/$(infodir)
197 @install -m 0755 gnunet.info $(DESTDIR)/$(infodir) 160 @install -m 0755 gnunet.info $(DESTDIR)/$(infodir)
198 @install gnunet.html $(DESTDIR)/$(docdir) 161 @install gnunet.html $(DESTDIR)/$(docdir)
199 @install gnunet-c-tutorial.html $(DESTDIR)/$(docdir)
200 162
201doc-gendoc-install: 163doc-gendoc-install:
202 @mkdir -p $(DESTDIR)/$(docdir) 164 @mkdir -p $(DESTDIR)/$(docdir)
@@ -206,11 +168,8 @@ doc-gendoc-install:
206 168
207dev-build: version.texi/replacement 169dev-build: version.texi/replacement
208 @makeinfo --pdf gnunet.texi 170 @makeinfo --pdf gnunet.texi
209 @makeinfo --pdf gnunet-c-tutorial.texi
210 @makeinfo --html gnunet.texi 171 @makeinfo --html gnunet.texi
211 @makeinfo --html gnunet-c-tutorial.texi
212 @makeinfo --no-split gnunet.texi 172 @makeinfo --no-split gnunet.texi
213 @makeinfo --no-split gnunet-c-tutorial.texi
214 173
215# TODO: Add more to clean. 174# TODO: Add more to clean.
216clean: version.texi/replacement/revert 175clean: version.texi/replacement/revert
@@ -220,9 +179,6 @@ clean: version.texi/replacement/revert
220 @rm -f gnunet.info-1 179 @rm -f gnunet.info-1
221 @rm -f gnunet.info-2 180 @rm -f gnunet.info-2
222 @rm -f gnunet.info-3 181 @rm -f gnunet.info-3
223 @rm -f gnunet-c-tutorial.pdf
224 @rm -f gnunet-c-tutorial.info
225 @rm -f gnunet-c-tutorial.html
226 @rm -fr gnunet.t2p 182 @rm -fr gnunet.t2p
227 @rm -fr gnunet-c-tutorial.t2p 183 @rm -fr gnunet-c-tutorial.t2p
228 @rm -fr manual 184 @rm -fr manual
diff --git a/doc/documentation/TODO b/doc/handbook/TODO
index fa1ce7a23..fa1ce7a23 100644
--- a/doc/documentation/TODO
+++ b/doc/handbook/TODO
diff --git a/doc/documentation/agpl-3.0.texi b/doc/handbook/agpl-3.0.texi
index eabb0c6df..eabb0c6df 100644
--- a/doc/documentation/agpl-3.0.texi
+++ b/doc/handbook/agpl-3.0.texi
diff --git a/doc/documentation/chapters/configuration.texi b/doc/handbook/chapters/configuration.texi
index 286c72e7a..286c72e7a 100644
--- a/doc/documentation/chapters/configuration.texi
+++ b/doc/handbook/chapters/configuration.texi
diff --git a/doc/documentation/chapters/contributing.texi b/doc/handbook/chapters/contributing.texi
index f4493e6c1..f4493e6c1 100644
--- a/doc/documentation/chapters/contributing.texi
+++ b/doc/handbook/chapters/contributing.texi
diff --git a/doc/documentation/chapters/developer.texi b/doc/handbook/chapters/developer.texi
index d9c92247b..d9c92247b 100644
--- a/doc/documentation/chapters/developer.texi
+++ b/doc/handbook/chapters/developer.texi
diff --git a/doc/documentation/chapters/installation.texi b/doc/handbook/chapters/installation.texi
index 6b68ac498..6b68ac498 100644
--- a/doc/documentation/chapters/installation.texi
+++ b/doc/handbook/chapters/installation.texi
diff --git a/doc/documentation/chapters/keyconcepts.texi b/doc/handbook/chapters/keyconcepts.texi
index b4a60024c..b4a60024c 100644
--- a/doc/documentation/chapters/keyconcepts.texi
+++ b/doc/handbook/chapters/keyconcepts.texi
diff --git a/doc/documentation/chapters/philosophy.texi b/doc/handbook/chapters/philosophy.texi
index e57c20914..e57c20914 100644
--- a/doc/documentation/chapters/philosophy.texi
+++ b/doc/handbook/chapters/philosophy.texi
diff --git a/doc/documentation/chapters/preface.texi b/doc/handbook/chapters/preface.texi
index 386cefa6d..386cefa6d 100644
--- a/doc/documentation/chapters/preface.texi
+++ b/doc/handbook/chapters/preface.texi
diff --git a/doc/documentation/chapters/user.texi b/doc/handbook/chapters/user.texi
index 5aa3a62bf..5aa3a62bf 100644
--- a/doc/documentation/chapters/user.texi
+++ b/doc/handbook/chapters/user.texi
diff --git a/doc/documentation/chapters/vocabulary.texi b/doc/handbook/chapters/vocabulary.texi
index 0ee472b95..0ee472b95 100644
--- a/doc/documentation/chapters/vocabulary.texi
+++ b/doc/handbook/chapters/vocabulary.texi
diff --git a/doc/documentation/docstyle.css b/doc/handbook/docstyle.css
index 8719248d0..8719248d0 100644
--- a/doc/documentation/docstyle.css
+++ b/doc/handbook/docstyle.css
diff --git a/doc/documentation/fdl-1.3.texi b/doc/handbook/fdl-1.3.texi
index cb71f05a1..cb71f05a1 100644
--- a/doc/documentation/fdl-1.3.texi
+++ b/doc/handbook/fdl-1.3.texi
diff --git a/doc/documentation/gendocs.sh b/doc/handbook/gendocs.sh
index 3b71b36a2..3b71b36a2 100755
--- a/doc/documentation/gendocs.sh
+++ b/doc/handbook/gendocs.sh
diff --git a/doc/documentation/gendocs_template b/doc/handbook/gendocs_template
index 178f6cb4c..178f6cb4c 100644
--- a/doc/documentation/gendocs_template
+++ b/doc/handbook/gendocs_template
diff --git a/doc/documentation/gendocs_template_min b/doc/handbook/gendocs_template_min
index 112fa3bfb..112fa3bfb 100644
--- a/doc/documentation/gendocs_template_min
+++ b/doc/handbook/gendocs_template_min
diff --git a/doc/documentation/gnunet.texi b/doc/handbook/gnunet.texi
index 05522d7d0..05522d7d0 100644
--- a/doc/documentation/gnunet.texi
+++ b/doc/handbook/gnunet.texi
diff --git a/doc/documentation/gpl-3.0.texi b/doc/handbook/gpl-3.0.texi
index 0e2e212ac..0e2e212ac 100644
--- a/doc/documentation/gpl-3.0.texi
+++ b/doc/handbook/gpl-3.0.texi
diff --git a/doc/documentation/htmlxref.cnf b/doc/handbook/htmlxref.cnf
index a4928f6fe..a4928f6fe 100644
--- a/doc/documentation/htmlxref.cnf
+++ b/doc/handbook/htmlxref.cnf
diff --git a/doc/documentation/images/daemon_lego_block.png b/doc/handbook/images/daemon_lego_block.png
index 5a088b532..5a088b532 100644
--- a/doc/documentation/images/daemon_lego_block.png
+++ b/doc/handbook/images/daemon_lego_block.png
Binary files differ
diff --git a/doc/documentation/images/daemon_lego_block.svg b/doc/handbook/images/daemon_lego_block.svg
index 38ad90d13..38ad90d13 100644
--- a/doc/documentation/images/daemon_lego_block.svg
+++ b/doc/handbook/images/daemon_lego_block.svg
diff --git a/doc/documentation/images/gns.dot b/doc/handbook/images/gns.dot
index 55b05d482..55b05d482 100644
--- a/doc/documentation/images/gns.dot
+++ b/doc/handbook/images/gns.dot
diff --git a/doc/documentation/images/gns.eps b/doc/handbook/images/gns.eps
index 3f3c28d98..3f3c28d98 100644
--- a/doc/documentation/images/gns.eps
+++ b/doc/handbook/images/gns.eps
diff --git a/doc/documentation/images/gns.jpg b/doc/handbook/images/gns.jpg
index d71109b95..d71109b95 100644
--- a/doc/documentation/images/gns.jpg
+++ b/doc/handbook/images/gns.jpg
Binary files differ
diff --git a/doc/documentation/images/gnunet-0-10-peerinfo.png b/doc/handbook/images/gnunet-0-10-peerinfo.png
index c5e711aff..c5e711aff 100644
--- a/doc/documentation/images/gnunet-0-10-peerinfo.png
+++ b/doc/handbook/images/gnunet-0-10-peerinfo.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-fs-gtk-0-10-star-tab.png b/doc/handbook/images/gnunet-fs-gtk-0-10-star-tab.png
index d7993cc46..d7993cc46 100644
--- a/doc/documentation/images/gnunet-fs-gtk-0-10-star-tab.png
+++ b/doc/handbook/images/gnunet-fs-gtk-0-10-star-tab.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-download-area.png b/doc/handbook/images/gnunet-gtk-0-10-download-area.png
index 8500d46c9..8500d46c9 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-download-area.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-download-area.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-fs-menu.png b/doc/handbook/images/gnunet-gtk-0-10-fs-menu.png
index dc20c45a9..dc20c45a9 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-fs-menu.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-fs-menu.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-fs-publish-editing.png b/doc/handbook/images/gnunet-gtk-0-10-fs-publish-editing.png
index 6f9f75ea6..6f9f75ea6 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-fs-publish-editing.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-fs-publish-editing.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-fs-publish-select.png b/doc/handbook/images/gnunet-gtk-0-10-fs-publish-select.png
index 50672e379..50672e379 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-fs-publish-select.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-fs-publish-select.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-fs-publish-with-file.png b/doc/handbook/images/gnunet-gtk-0-10-fs-publish-with-file.png
index b46542563..b46542563 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-fs-publish-with-file.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-fs-publish-with-file.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-fs-publish-with-file_0.png b/doc/handbook/images/gnunet-gtk-0-10-fs-publish-with-file_0.png
index b46542563..b46542563 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-fs-publish-with-file_0.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-fs-publish-with-file_0.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-fs-publish.png b/doc/handbook/images/gnunet-gtk-0-10-fs-publish.png
index 033b38fa5..033b38fa5 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-fs-publish.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-fs-publish.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-fs-published.png b/doc/handbook/images/gnunet-gtk-0-10-fs-published.png
index fbd3dd6a3..fbd3dd6a3 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-fs-published.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-fs-published.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-fs-search.png b/doc/handbook/images/gnunet-gtk-0-10-fs-search.png
index bb64ab92e..bb64ab92e 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-fs-search.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-fs-search.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-fs.png b/doc/handbook/images/gnunet-gtk-0-10-fs.png
index c7a294878..c7a294878 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-fs.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-fs.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-gns-a-done.png b/doc/handbook/images/gnunet-gtk-0-10-gns-a-done.png
index f8231b3a6..f8231b3a6 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-gns-a-done.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-gns-a-done.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-gns-a.png b/doc/handbook/images/gnunet-gtk-0-10-gns-a.png
index 39858d72c..39858d72c 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-gns-a.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-gns-a.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-gns.png b/doc/handbook/images/gnunet-gtk-0-10-gns.png
index c71a2bd7b..c71a2bd7b 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-gns.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-gns.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-identity.png b/doc/handbook/images/gnunet-gtk-0-10-identity.png
index d0b426098..d0b426098 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-identity.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-identity.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-search-selected.png b/doc/handbook/images/gnunet-gtk-0-10-search-selected.png
index da1ad4d31..da1ad4d31 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-search-selected.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-search-selected.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-gtk-0-10-traffic.png b/doc/handbook/images/gnunet-gtk-0-10-traffic.png
index 76458f717..76458f717 100644
--- a/doc/documentation/images/gnunet-gtk-0-10-traffic.png
+++ b/doc/handbook/images/gnunet-gtk-0-10-traffic.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-namestore-gtk-phone.png b/doc/handbook/images/gnunet-namestore-gtk-phone.png
index 3bb859629..3bb859629 100644
--- a/doc/documentation/images/gnunet-namestore-gtk-phone.png
+++ b/doc/handbook/images/gnunet-namestore-gtk-phone.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-namestore-gtk-vpn.png b/doc/handbook/images/gnunet-namestore-gtk-vpn.png
index c716729ba..c716729ba 100644
--- a/doc/documentation/images/gnunet-namestore-gtk-vpn.png
+++ b/doc/handbook/images/gnunet-namestore-gtk-vpn.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-setup-exit.png b/doc/handbook/images/gnunet-setup-exit.png
index 66bd972bc..66bd972bc 100644
--- a/doc/documentation/images/gnunet-setup-exit.png
+++ b/doc/handbook/images/gnunet-setup-exit.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-tutorial-service.png b/doc/handbook/images/gnunet-tutorial-service.png
index 6daed2f35..6daed2f35 100644
--- a/doc/documentation/images/gnunet-tutorial-service.png
+++ b/doc/handbook/images/gnunet-tutorial-service.png
Binary files differ
diff --git a/doc/documentation/images/gnunet-tutorial-system.png b/doc/handbook/images/gnunet-tutorial-system.png
index 8b54e16cf..8b54e16cf 100644
--- a/doc/documentation/images/gnunet-tutorial-system.png
+++ b/doc/handbook/images/gnunet-tutorial-system.png
Binary files differ
diff --git a/doc/documentation/images/iceweasel-preferences.png b/doc/handbook/images/iceweasel-preferences.png
index e62c2c4d9..e62c2c4d9 100644
--- a/doc/documentation/images/iceweasel-preferences.png
+++ b/doc/handbook/images/iceweasel-preferences.png
Binary files differ
diff --git a/doc/documentation/images/iceweasel-proxy.png b/doc/handbook/images/iceweasel-proxy.png
index 9caad4508..9caad4508 100644
--- a/doc/documentation/images/iceweasel-proxy.png
+++ b/doc/handbook/images/iceweasel-proxy.png
Binary files differ
diff --git a/doc/documentation/images/lego_stack.svg b/doc/handbook/images/lego_stack.svg
index a0e8017c3..a0e8017c3 100644
--- a/doc/documentation/images/lego_stack.svg
+++ b/doc/handbook/images/lego_stack.svg
diff --git a/doc/documentation/images/service_lego_block.png b/doc/handbook/images/service_lego_block.png
index 56caf6b9c..56caf6b9c 100644
--- a/doc/documentation/images/service_lego_block.png
+++ b/doc/handbook/images/service_lego_block.png
Binary files differ
diff --git a/doc/documentation/images/service_lego_block.svg b/doc/handbook/images/service_lego_block.svg
index ef0d0234f..ef0d0234f 100644
--- a/doc/documentation/images/service_lego_block.svg
+++ b/doc/handbook/images/service_lego_block.svg
diff --git a/doc/documentation/images/service_stack.png b/doc/handbook/images/service_stack.png
index 747d087b2..747d087b2 100644
--- a/doc/documentation/images/service_stack.png
+++ b/doc/handbook/images/service_stack.png
Binary files differ
diff --git a/doc/documentation/images/structure.dot b/doc/handbook/images/structure.dot
index a53db90b8..a53db90b8 100644
--- a/doc/documentation/images/structure.dot
+++ b/doc/handbook/images/structure.dot
diff --git a/doc/documentation/index.html b/doc/handbook/index.html
index 1bd6da033..1bd6da033 100644
--- a/doc/documentation/index.html
+++ b/doc/handbook/index.html
diff --git a/doc/documentation/run-gendocs.sh b/doc/handbook/run-gendocs.sh
index 5e60a2d0f..5e60a2d0f 100755
--- a/doc/documentation/run-gendocs.sh
+++ b/doc/handbook/run-gendocs.sh
diff --git a/doc/tutorial/Makefile.am b/doc/tutorial/Makefile.am
new file mode 100644
index 000000000..0431e0684
--- /dev/null
+++ b/doc/tutorial/Makefile.am
@@ -0,0 +1,145 @@
1# This Makefile.am is in the public domain
2docdir = $(datadir)/doc/gnunet/
3
4#DOT_FILES = images/$(wildcard *.dot)
5
6#DOT_VECTOR_GRAPHICS = \
7# $(DOT_FILES:%.dot=%.eps) \
8# $(DOT_FILES:%.dot=%.pdf)
9
10AM_MAKEINFOHTMLFLAGS = --no-split --css-ref=docstyle.css
11
12#DOT_OPTIONS = \
13# -Gratio=.9 -Gnodesep=.005 -Granksep=.00005 \
14# -Nfontsite=9 -Nheight=.1 -Nwidth=.1
15
16# .dot.png:
17# $(AM_V_DOT)$(DOT) -Tpng $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp"; \
18# mv "$(srcdir)/$@.tmp" "$(srcdir)/$@"
19
20# .dot.pdf:
21# $(AM_V_DOT)$(DOT) -Tpdf $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp"; \
22# mv "$(srcdir)/$@.tmp" "$(srcdir)/$@"
23
24# .dot.eps:
25# $(AM_V_DOT)$(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp"; \
26# mv "$(srcdir)/$@.tmp" "$(srcdir)/$@"
27
28# .png.eps:
29# $(AM_V_GEN)convert "$<" "$@-tmp.eps"; \
30# mv "$@-tmp.eps" "$@"
31
32# pdf-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.pdf)
33# info-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.png)
34# ps-local: $(DOT_FILES=%.dot=$(top_srcdir)/%.eps) \
35# $(top_srcdir)/%D%/images/coreutils-size-map.eps
36# dvi-local: ps-local
37
38
39gnunet_tutorial_examples = \
40 examples/001.c \
41 examples/002.c \
42 examples/003.c \
43 examples/004.c \
44 examples/005.c \
45 examples/006.c \
46 examples/007.c \
47 examples/008.c \
48 examples/009.c \
49 examples/010.c \
50 examples/011.c \
51 examples/012.c \
52 examples/013.c \
53 examples/013.1.c \
54 examples/014.c \
55 examples/015.c \
56 examples/016.c \
57 examples/017.c \
58 examples/018.c \
59 examples/019.c \
60 examples/020.c \
61 examples/021.c \
62 examples/022.c \
63 examples/023.c \
64 examples/024.c \
65 examples/025.Makefile.am \
66 examples/026.c \
67 examples/testbed_test.c
68
69info_TEXINFOS = \
70 gnunet-tutorial.texi
71
72EXTRA_DIST = \
73 $(gnunet_tutorial_examples) \
74 htmlxref.cnf \
75 run-gendocs.sh \
76 docstyle.css
77
78
79DISTCLEANFILES = \
80 gnunet-tutorial.cps \
81 fdl-1.3.cps
82
83# XXX: is this sed invocation portable enough? otherwise try tr(1).
84version.texi/replacement: version.texi/replacement/revert
85 @sed -i "s/GPACKAGE_VERSION/$(PACKAGE_VERSION)/g" gversion.texi
86
87version.texi/replacement/revert:
88 @echo "@set VERSION GPACKAGE_VERSION" > gversion.texi
89 @echo "@set EDITION GPACKAGE_VERSION" >> gversion.texi
90
91if SECTION7
92gnunet-tutorial.7: version.texi/replacement
93 @echo Attempting to output an mdoc formatted section 7 document
94 @texi2mdoc -I$(pwd):$(pwd)/chapters gnunet-c-tutorial.texi > ../man/gnunet-c-tutorial.7
95# TODO: (Maybe) other outputs resulting from this.
96endif
97
98# FIXME: rm *.html and *.pdf
99#doc-clean:
100# @rm *.aux *.log *.toc *.cp *.cps
101
102all: version.texi/replacement
103
104doc-all-install:
105 @mkdir -p $(DESTDIR)/$(docdir)
106 @mkdir -p $(DESTDIR)/$(infoimagedir)
107 @mkdir -p $(DESTDIR)/$(infodir)
108 @install -m 0755 gnunet-tutorial.pdf $(DESTDIR)/$(docdir)
109 @install -m 0755 gnunet-tutorial.info $(DESTDIR)/$(infodir)
110 @install gnunet-tutorial.html $(DESTDIR)/$(docdir)
111
112doc-gendoc-install:
113 @mkdir -p $(DESTDIR)/$(docdir)
114 @cp -r manual $(DESTDIR)/$(docdir)
115
116# @cp -r images $(DESTDIR)/$(infoimagedir)
117
118dev-build: version.texi/replacement
119 @makeinfo --pdf gnunet-c-tutorial.texi
120 @makeinfo --html gnunet-c-tutorial.texi
121 @makeinfo --no-split gnunet-c-tutorial.texi
122
123# TODO: Add more to clean.
124clean: version.texi/replacement/revert
125 @rm -f gnunet-tutorial.pdf
126 @rm -f gnunet-tutorial.info
127 @rm -f gnunet-tutorial.html
128 @rm -fr gnunet-tutorial.t2p
129
130# CLEANFILES = \
131# gnunet.log \
132# gnunet-c-tutorial.log \
133# $(wildcard *.aux) \
134# $(wildcard *.toc) \
135# $(wildcard *.cp) \
136# $(wildcard *.cps)
137
138#.PHONY: version.texi
139# if HAVE_EXTENDED_DOCUMENTATION_BUILDING_PDF
140
141# if HAVE_EXTENDED_DOCUMENTATION_BUILDING_HTML
142
143# endif
144# endif
145# endif
diff --git a/doc/documentation/tutorial-examples/001.c b/doc/tutorial/examples/001.c
index 7f6699dd2..7f6699dd2 100644
--- a/doc/documentation/tutorial-examples/001.c
+++ b/doc/tutorial/examples/001.c
diff --git a/doc/documentation/tutorial-examples/002.c b/doc/tutorial/examples/002.c
index 02233fd61..02233fd61 100644
--- a/doc/documentation/tutorial-examples/002.c
+++ b/doc/tutorial/examples/002.c
diff --git a/doc/documentation/tutorial-examples/003.c b/doc/tutorial/examples/003.c
index d158d7e75..d158d7e75 100644
--- a/doc/documentation/tutorial-examples/003.c
+++ b/doc/tutorial/examples/003.c
diff --git a/doc/documentation/tutorial-examples/004.c b/doc/tutorial/examples/004.c
index 0ef007907..0ef007907 100644
--- a/doc/documentation/tutorial-examples/004.c
+++ b/doc/tutorial/examples/004.c
diff --git a/doc/documentation/tutorial-examples/005.c b/doc/tutorial/examples/005.c
index 1b59f85a6..1b59f85a6 100644
--- a/doc/documentation/tutorial-examples/005.c
+++ b/doc/tutorial/examples/005.c
diff --git a/doc/documentation/tutorial-examples/006.c b/doc/tutorial/examples/006.c
index 944d2b18c..944d2b18c 100644
--- a/doc/documentation/tutorial-examples/006.c
+++ b/doc/tutorial/examples/006.c
diff --git a/doc/documentation/tutorial-examples/007.c b/doc/tutorial/examples/007.c
index 096539e43..096539e43 100644
--- a/doc/documentation/tutorial-examples/007.c
+++ b/doc/tutorial/examples/007.c
diff --git a/doc/documentation/tutorial-examples/008.c b/doc/tutorial/examples/008.c
index 2dffe2cf9..2dffe2cf9 100644
--- a/doc/documentation/tutorial-examples/008.c
+++ b/doc/tutorial/examples/008.c
diff --git a/doc/documentation/tutorial-examples/009.c b/doc/tutorial/examples/009.c
index 26d918fb0..26d918fb0 100644
--- a/doc/documentation/tutorial-examples/009.c
+++ b/doc/tutorial/examples/009.c
diff --git a/doc/documentation/tutorial-examples/010.c b/doc/tutorial/examples/010.c
index 33494490d..33494490d 100644
--- a/doc/documentation/tutorial-examples/010.c
+++ b/doc/tutorial/examples/010.c
diff --git a/doc/documentation/tutorial-examples/011.c b/doc/tutorial/examples/011.c
index 23bc051de..23bc051de 100644
--- a/doc/documentation/tutorial-examples/011.c
+++ b/doc/tutorial/examples/011.c
diff --git a/doc/documentation/tutorial-examples/012.c b/doc/tutorial/examples/012.c
index cb21d78ab..cb21d78ab 100644
--- a/doc/documentation/tutorial-examples/012.c
+++ b/doc/tutorial/examples/012.c
diff --git a/doc/documentation/tutorial-examples/013.1.c b/doc/tutorial/examples/013.1.c
index fa5212868..fa5212868 100644
--- a/doc/documentation/tutorial-examples/013.1.c
+++ b/doc/tutorial/examples/013.1.c
diff --git a/doc/documentation/tutorial-examples/013.c b/doc/tutorial/examples/013.c
index 6792417e1..6792417e1 100644
--- a/doc/documentation/tutorial-examples/013.c
+++ b/doc/tutorial/examples/013.c
diff --git a/doc/documentation/tutorial-examples/014.c b/doc/tutorial/examples/014.c
index ce204f795..ce204f795 100644
--- a/doc/documentation/tutorial-examples/014.c
+++ b/doc/tutorial/examples/014.c
diff --git a/doc/documentation/tutorial-examples/015.c b/doc/tutorial/examples/015.c
index 0dd267e8e..0dd267e8e 100644
--- a/doc/documentation/tutorial-examples/015.c
+++ b/doc/tutorial/examples/015.c
diff --git a/doc/documentation/tutorial-examples/016.c b/doc/tutorial/examples/016.c
index d169da16d..d169da16d 100644
--- a/doc/documentation/tutorial-examples/016.c
+++ b/doc/tutorial/examples/016.c
diff --git a/doc/documentation/tutorial-examples/017.c b/doc/tutorial/examples/017.c
index c86fbcd1f..c86fbcd1f 100644
--- a/doc/documentation/tutorial-examples/017.c
+++ b/doc/tutorial/examples/017.c
diff --git a/doc/documentation/tutorial-examples/018.c b/doc/tutorial/examples/018.c
index 3fc22584c..3fc22584c 100644
--- a/doc/documentation/tutorial-examples/018.c
+++ b/doc/tutorial/examples/018.c
diff --git a/doc/documentation/tutorial-examples/019.c b/doc/tutorial/examples/019.c
index aaf001516..aaf001516 100644
--- a/doc/documentation/tutorial-examples/019.c
+++ b/doc/tutorial/examples/019.c
diff --git a/doc/documentation/tutorial-examples/020.c b/doc/tutorial/examples/020.c
index 596db3069..596db3069 100644
--- a/doc/documentation/tutorial-examples/020.c
+++ b/doc/tutorial/examples/020.c
diff --git a/doc/documentation/tutorial-examples/021.c b/doc/tutorial/examples/021.c
index 688a31fe0..688a31fe0 100644
--- a/doc/documentation/tutorial-examples/021.c
+++ b/doc/tutorial/examples/021.c
diff --git a/doc/documentation/tutorial-examples/022.c b/doc/tutorial/examples/022.c
index a373619bd..a373619bd 100644
--- a/doc/documentation/tutorial-examples/022.c
+++ b/doc/tutorial/examples/022.c
diff --git a/doc/documentation/tutorial-examples/023.c b/doc/tutorial/examples/023.c
index 820c38b10..820c38b10 100644
--- a/doc/documentation/tutorial-examples/023.c
+++ b/doc/tutorial/examples/023.c
diff --git a/doc/documentation/tutorial-examples/024.c b/doc/tutorial/examples/024.c
index 2e84b5905..2e84b5905 100644
--- a/doc/documentation/tutorial-examples/024.c
+++ b/doc/tutorial/examples/024.c
diff --git a/doc/documentation/tutorial-examples/025.Makefile.am b/doc/tutorial/examples/025.Makefile.am
index 66d4f80ec..66d4f80ec 100644
--- a/doc/documentation/tutorial-examples/025.Makefile.am
+++ b/doc/tutorial/examples/025.Makefile.am
diff --git a/doc/documentation/tutorial-examples/026.c b/doc/tutorial/examples/026.c
index 264e0b6b9..264e0b6b9 100644
--- a/doc/documentation/tutorial-examples/026.c
+++ b/doc/tutorial/examples/026.c
diff --git a/doc/documentation/testbed_test.c b/doc/tutorial/examples/testbed_test.c
index 1696234b0..1696234b0 100644
--- a/doc/documentation/testbed_test.c
+++ b/doc/tutorial/examples/testbed_test.c
diff --git a/doc/tutorial/fdl-1.3.texi b/doc/tutorial/fdl-1.3.texi
new file mode 100644
index 000000000..cb71f05a1
--- /dev/null
+++ b/doc/tutorial/fdl-1.3.texi
@@ -0,0 +1,505 @@
1@c The GNU Free Documentation License.
2@center Version 1.3, 3 November 2008
3
4@c This file is intended to be included within another document,
5@c hence no sectioning command or @node.
6
7@display
8Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
9@uref{http://fsf.org/}
10
11Everyone is permitted to copy and distribute verbatim copies
12of this license document, but changing it is not allowed.
13@end display
14
15@enumerate 0
16@item
17PREAMBLE
18
19The purpose of this License is to make a manual, textbook, or other
20functional and useful document @dfn{free} in the sense of freedom: to
21assure everyone the effective freedom to copy and redistribute it,
22with or without modifying it, either commercially or noncommercially.
23Secondarily, this License preserves for the author and publisher a way
24to get credit for their work, while not being considered responsible
25for modifications made by others.
26
27This License is a kind of ``copyleft'', which means that derivative
28works of the document must themselves be free in the same sense. It
29complements the GNU General Public License, which is a copyleft
30license designed for free software.
31
32We have designed this License in order to use it for manuals for free
33software, because free software needs free documentation: a free
34program should come with manuals providing the same freedoms that the
35software does. But this License is not limited to software manuals;
36it can be used for any textual work, regardless of subject matter or
37whether it is published as a printed book. We recommend this License
38principally for works whose purpose is instruction or reference.
39
40@item
41APPLICABILITY AND DEFINITIONS
42
43This License applies to any manual or other work, in any medium, that
44contains a notice placed by the copyright holder saying it can be
45distributed under the terms of this License. Such a notice grants a
46world-wide, royalty-free license, unlimited in duration, to use that
47work under the conditions stated herein. The ``Document'', below,
48refers to any such manual or work. Any member of the public is a
49licensee, and is addressed as ``you''. You accept the license if you
50copy, modify or distribute the work in a way requiring permission
51under copyright law.
52
53A ``Modified Version'' of the Document means any work containing the
54Document or a portion of it, either copied verbatim, or with
55modifications and/or translated into another language.
56
57A ``Secondary Section'' is a named appendix or a front-matter section
58of the Document that deals exclusively with the relationship of the
59publishers or authors of the Document to the Document's overall
60subject (or to related matters) and contains nothing that could fall
61directly within that overall subject. (Thus, if the Document is in
62part a textbook of mathematics, a Secondary Section may not explain
63any mathematics.) The relationship could be a matter of historical
64connection with the subject or with related matters, or of legal,
65commercial, philosophical, ethical or political position regarding
66them.
67
68The ``Invariant Sections'' are certain Secondary Sections whose titles
69are designated, as being those of Invariant Sections, in the notice
70that says that the Document is released under this License. If a
71section does not fit the above definition of Secondary then it is not
72allowed to be designated as Invariant. The Document may contain zero
73Invariant Sections. If the Document does not identify any Invariant
74Sections then there are none.
75
76The ``Cover Texts'' are certain short passages of text that are listed,
77as Front-Cover Texts or Back-Cover Texts, in the notice that says that
78the Document is released under this License. A Front-Cover Text may
79be at most 5 words, and a Back-Cover Text may be at most 25 words.
80
81A ``Transparent'' copy of the Document means a machine-readable copy,
82represented in a format whose specification is available to the
83general public, that is suitable for revising the document
84straightforwardly with generic text editors or (for images composed of
85pixels) generic paint programs or (for drawings) some widely available
86drawing editor, and that is suitable for input to text formatters or
87for automatic translation to a variety of formats suitable for input
88to text formatters. A copy made in an otherwise Transparent file
89format whose markup, or absence of markup, has been arranged to thwart
90or discourage subsequent modification by readers is not Transparent.
91An image format is not Transparent if used for any substantial amount
92of text. A copy that is not ``Transparent'' is called ``Opaque''.
93
94Examples of suitable formats for Transparent copies include plain
95ASCII without markup, Texinfo input format, La@TeX{} input
96format, SGML or XML using a publicly available
97DTD, and standard-conforming simple HTML,
98PostScript or PDF designed for human modification. Examples
99of transparent image formats include PNG, XCF and
100JPG. Opaque formats include proprietary formats that can be
101read and edited only by proprietary word processors, SGML or
102XML for which the DTD and/or processing tools are
103not generally available, and the machine-generated HTML,
104PostScript or PDF produced by some word processors for
105output purposes only.
106
107The ``Title Page'' means, for a printed book, the title page itself,
108plus such following pages as are needed to hold, legibly, the material
109this License requires to appear in the title page. For works in
110formats which do not have any title page as such, ``Title Page'' means
111the text near the most prominent appearance of the work's title,
112preceding the beginning of the body of the text.
113
114The ``publisher'' means any person or entity that distributes copies
115of the Document to the public.
116
117A section ``Entitled XYZ'' means a named subunit of the Document whose
118title either is precisely XYZ or contains XYZ in parentheses following
119text that translates XYZ in another language. (Here XYZ stands for a
120specific section name mentioned below, such as ``Acknowledgements'',
121``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
122of such a section when you modify the Document means that it remains a
123section ``Entitled XYZ'' according to this definition.
124
125The Document may include Warranty Disclaimers next to the notice which
126states that this License applies to the Document. These Warranty
127Disclaimers are considered to be included by reference in this
128License, but only as regards disclaiming warranties: any other
129implication that these Warranty Disclaimers may have is void and has
130no effect on the meaning of this License.
131
132@item
133VERBATIM COPYING
134
135You may copy and distribute the Document in any medium, either
136commercially or noncommercially, provided that this License, the
137copyright notices, and the license notice saying this License applies
138to the Document are reproduced in all copies, and that you add no other
139conditions whatsoever to those of this License. You may not use
140technical measures to obstruct or control the reading or further
141copying of the copies you make or distribute. However, you may accept
142compensation in exchange for copies. If you distribute a large enough
143number of copies you must also follow the conditions in section 3.
144
145You may also lend copies, under the same conditions stated above, and
146you may publicly display copies.
147
148@item
149COPYING IN QUANTITY
150
151If you publish printed copies (or copies in media that commonly have
152printed covers) of the Document, numbering more than 100, and the
153Document's license notice requires Cover Texts, you must enclose the
154copies in covers that carry, clearly and legibly, all these Cover
155Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
156the back cover. Both covers must also clearly and legibly identify
157you as the publisher of these copies. The front cover must present
158the full title with all words of the title equally prominent and
159visible. You may add other material on the covers in addition.
160Copying with changes limited to the covers, as long as they preserve
161the title of the Document and satisfy these conditions, can be treated
162as verbatim copying in other respects.
163
164If the required texts for either cover are too voluminous to fit
165legibly, you should put the first ones listed (as many as fit
166reasonably) on the actual cover, and continue the rest onto adjacent
167pages.
168
169If you publish or distribute Opaque copies of the Document numbering
170more than 100, you must either include a machine-readable Transparent
171copy along with each Opaque copy, or state in or with each Opaque copy
172a computer-network location from which the general network-using
173public has access to download using public-standard network protocols
174a complete Transparent copy of the Document, free of added material.
175If you use the latter option, you must take reasonably prudent steps,
176when you begin distribution of Opaque copies in quantity, to ensure
177that this Transparent copy will remain thus accessible at the stated
178location until at least one year after the last time you distribute an
179Opaque copy (directly or through your agents or retailers) of that
180edition to the public.
181
182It is requested, but not required, that you contact the authors of the
183Document well before redistributing any large number of copies, to give
184them a chance to provide you with an updated version of the Document.
185
186@item
187MODIFICATIONS
188
189You may copy and distribute a Modified Version of the Document under
190the conditions of sections 2 and 3 above, provided that you release
191the Modified Version under precisely this License, with the Modified
192Version filling the role of the Document, thus licensing distribution
193and modification of the Modified Version to whoever possesses a copy
194of it. In addition, you must do these things in the Modified Version:
195
196@enumerate A
197@item
198Use in the Title Page (and on the covers, if any) a title distinct
199from that of the Document, and from those of previous versions
200(which should, if there were any, be listed in the History section
201of the Document). You may use the same title as a previous version
202if the original publisher of that version gives permission.
203
204@item
205List on the Title Page, as authors, one or more persons or entities
206responsible for authorship of the modifications in the Modified
207Version, together with at least five of the principal authors of the
208Document (all of its principal authors, if it has fewer than five),
209unless they release you from this requirement.
210
211@item
212State on the Title page the name of the publisher of the
213Modified Version, as the publisher.
214
215@item
216Preserve all the copyright notices of the Document.
217
218@item
219Add an appropriate copyright notice for your modifications
220adjacent to the other copyright notices.
221
222@item
223Include, immediately after the copyright notices, a license notice
224giving the public permission to use the Modified Version under the
225terms of this License, in the form shown in the Addendum below.
226
227@item
228Preserve in that license notice the full lists of Invariant Sections
229and required Cover Texts given in the Document's license notice.
230
231@item
232Include an unaltered copy of this License.
233
234@item
235Preserve the section Entitled ``History'', Preserve its Title, and add
236to it an item stating at least the title, year, new authors, and
237publisher of the Modified Version as given on the Title Page. If
238there is no section Entitled ``History'' in the Document, create one
239stating the title, year, authors, and publisher of the Document as
240given on its Title Page, then add an item describing the Modified
241Version as stated in the previous sentence.
242
243@item
244Preserve the network location, if any, given in the Document for
245public access to a Transparent copy of the Document, and likewise
246the network locations given in the Document for previous versions
247it was based on. These may be placed in the ``History'' section.
248You may omit a network location for a work that was published at
249least four years before the Document itself, or if the original
250publisher of the version it refers to gives permission.
251
252@item
253For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
254the Title of the section, and preserve in the section all the
255substance and tone of each of the contributor acknowledgements and/or
256dedications given therein.
257
258@item
259Preserve all the Invariant Sections of the Document,
260unaltered in their text and in their titles. Section numbers
261or the equivalent are not considered part of the section titles.
262
263@item
264Delete any section Entitled ``Endorsements''. Such a section
265may not be included in the Modified Version.
266
267@item
268Do not retitle any existing section to be Entitled ``Endorsements'' or
269to conflict in title with any Invariant Section.
270
271@item
272Preserve any Warranty Disclaimers.
273@end enumerate
274
275If the Modified Version includes new front-matter sections or
276appendices that qualify as Secondary Sections and contain no material
277copied from the Document, you may at your option designate some or all
278of these sections as invariant. To do this, add their titles to the
279list of Invariant Sections in the Modified Version's license notice.
280These titles must be distinct from any other section titles.
281
282You may add a section Entitled ``Endorsements'', provided it contains
283nothing but endorsements of your Modified Version by various
284parties---for example, statements of peer review or that the text has
285been approved by an organization as the authoritative definition of a
286standard.
287
288You may add a passage of up to five words as a Front-Cover Text, and a
289passage of up to 25 words as a Back-Cover Text, to the end of the list
290of Cover Texts in the Modified Version. Only one passage of
291Front-Cover Text and one of Back-Cover Text may be added by (or
292through arrangements made by) any one entity. If the Document already
293includes a cover text for the same cover, previously added by you or
294by arrangement made by the same entity you are acting on behalf of,
295you may not add another; but you may replace the old one, on explicit
296permission from the previous publisher that added the old one.
297
298The author(s) and publisher(s) of the Document do not by this License
299give permission to use their names for publicity for or to assert or
300imply endorsement of any Modified Version.
301
302@item
303COMBINING DOCUMENTS
304
305You may combine the Document with other documents released under this
306License, under the terms defined in section 4 above for modified
307versions, provided that you include in the combination all of the
308Invariant Sections of all of the original documents, unmodified, and
309list them all as Invariant Sections of your combined work in its
310license notice, and that you preserve all their Warranty Disclaimers.
311
312The combined work need only contain one copy of this License, and
313multiple identical Invariant Sections may be replaced with a single
314copy. If there are multiple Invariant Sections with the same name but
315different contents, make the title of each such section unique by
316adding at the end of it, in parentheses, the name of the original
317author or publisher of that section if known, or else a unique number.
318Make the same adjustment to the section titles in the list of
319Invariant Sections in the license notice of the combined work.
320
321In the combination, you must combine any sections Entitled ``History''
322in the various original documents, forming one section Entitled
323``History''; likewise combine any sections Entitled ``Acknowledgements'',
324and any sections Entitled ``Dedications''. You must delete all
325sections Entitled ``Endorsements.''
326
327@item
328COLLECTIONS OF DOCUMENTS
329
330You may make a collection consisting of the Document and other documents
331released under this License, and replace the individual copies of this
332License in the various documents with a single copy that is included in
333the collection, provided that you follow the rules of this License for
334verbatim copying of each of the documents in all other respects.
335
336You may extract a single document from such a collection, and distribute
337it individually under this License, provided you insert a copy of this
338License into the extracted document, and follow this License in all
339other respects regarding verbatim copying of that document.
340
341@item
342AGGREGATION WITH INDEPENDENT WORKS
343
344A compilation of the Document or its derivatives with other separate
345and independent documents or works, in or on a volume of a storage or
346distribution medium, is called an ``aggregate'' if the copyright
347resulting from the compilation is not used to limit the legal rights
348of the compilation's users beyond what the individual works permit.
349When the Document is included in an aggregate, this License does not
350apply to the other works in the aggregate which are not themselves
351derivative works of the Document.
352
353If the Cover Text requirement of section 3 is applicable to these
354copies of the Document, then if the Document is less than one half of
355the entire aggregate, the Document's Cover Texts may be placed on
356covers that bracket the Document within the aggregate, or the
357electronic equivalent of covers if the Document is in electronic form.
358Otherwise they must appear on printed covers that bracket the whole
359aggregate.
360
361@item
362TRANSLATION
363
364Translation is considered a kind of modification, so you may
365distribute translations of the Document under the terms of section 4.
366Replacing Invariant Sections with translations requires special
367permission from their copyright holders, but you may include
368translations of some or all Invariant Sections in addition to the
369original versions of these Invariant Sections. You may include a
370translation of this License, and all the license notices in the
371Document, and any Warranty Disclaimers, provided that you also include
372the original English version of this License and the original versions
373of those notices and disclaimers. In case of a disagreement between
374the translation and the original version of this License or a notice
375or disclaimer, the original version will prevail.
376
377If a section in the Document is Entitled ``Acknowledgements'',
378``Dedications'', or ``History'', the requirement (section 4) to Preserve
379its Title (section 1) will typically require changing the actual
380title.
381
382@item
383TERMINATION
384
385You may not copy, modify, sublicense, or distribute the Document
386except as expressly provided under this License. Any attempt
387otherwise to copy, modify, sublicense, or distribute it is void, and
388will automatically terminate your rights under this License.
389
390However, if you cease all violation of this License, then your license
391from a particular copyright holder is reinstated (a) provisionally,
392unless and until the copyright holder explicitly and finally
393terminates your license, and (b) permanently, if the copyright holder
394fails to notify you of the violation by some reasonable means prior to
39560 days after the cessation.
396
397Moreover, your license from a particular copyright holder is
398reinstated permanently if the copyright holder notifies you of the
399violation by some reasonable means, this is the first time you have
400received notice of violation of this License (for any work) from that
401copyright holder, and you cure the violation prior to 30 days after
402your receipt of the notice.
403
404Termination of your rights under this section does not terminate the
405licenses of parties who have received copies or rights from you under
406this License. If your rights have been terminated and not permanently
407reinstated, receipt of a copy of some or all of the same material does
408not give you any rights to use it.
409
410@item
411FUTURE REVISIONS OF THIS LICENSE
412
413The Free Software Foundation may publish new, revised versions
414of the GNU Free Documentation License from time to time. Such new
415versions will be similar in spirit to the present version, but may
416differ in detail to address new problems or concerns. See
417@uref{http://www.gnu.org/copyleft/}.
418
419Each version of the License is given a distinguishing version number.
420If the Document specifies that a particular numbered version of this
421License ``or any later version'' applies to it, you have the option of
422following the terms and conditions either of that specified version or
423of any later version that has been published (not as a draft) by the
424Free Software Foundation. If the Document does not specify a version
425number of this License, you may choose any version ever published (not
426as a draft) by the Free Software Foundation. If the Document
427specifies that a proxy can decide which future versions of this
428License can be used, that proxy's public statement of acceptance of a
429version permanently authorizes you to choose that version for the
430Document.
431
432@item
433RELICENSING
434
435``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
436World Wide Web server that publishes copyrightable works and also
437provides prominent facilities for anybody to edit those works. A
438public wiki that anybody can edit is an example of such a server. A
439``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
440site means any set of copyrightable works thus published on the MMC
441site.
442
443``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
444license published by Creative Commons Corporation, a not-for-profit
445corporation with a principal place of business in San Francisco,
446California, as well as future copyleft versions of that license
447published by that same organization.
448
449``Incorporate'' means to publish or republish a Document, in whole or
450in part, as part of another Document.
451
452An MMC is ``eligible for relicensing'' if it is licensed under this
453License, and if all works that were first published under this License
454somewhere other than this MMC, and subsequently incorporated in whole
455or in part into the MMC, (1) had no cover texts or invariant sections,
456and (2) were thus incorporated prior to November 1, 2008.
457
458The operator of an MMC Site may republish an MMC contained in the site
459under CC-BY-SA on the same site at any time before August 1, 2009,
460provided the MMC is eligible for relicensing.
461
462@end enumerate
463
464@page
465@heading ADDENDUM: How to use this License for your documents
466
467To use this License in a document you have written, include a copy of
468the License in the document and put the following copyright and
469license notices just after the title page:
470
471@smallexample
472@group
473 Copyright (C) @var{year} @var{your name}.
474 Permission is granted to copy, distribute and/or modify this document
475 under the terms of the GNU Free Documentation License, Version 1.3
476 or any later version published by the Free Software Foundation;
477 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
478 Texts. A copy of the license is included in the section entitled ``GNU
479 Free Documentation License''.
480@end group
481@end smallexample
482
483If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
484replace the ``with@dots{}Texts.''@: line with this:
485
486@smallexample
487@group
488 with the Invariant Sections being @var{list their titles}, with
489 the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
490 being @var{list}.
491@end group
492@end smallexample
493
494If you have Invariant Sections without Cover Texts, or some other
495combination of the three, merge those two alternatives to suit the
496situation.
497
498If your document contains nontrivial examples of program code, we
499recommend releasing these examples in parallel under your choice of
500free software license, such as the GNU General Public License,
501to permit their use in free software.
502
503@c Local Variables:
504@c ispell-local-pdict: "ispell-dict"
505@c End:
diff --git a/doc/documentation/gnunet-c-tutorial.texi b/doc/tutorial/gnunet-tutorial.texi
index b3bcdf18a..4f685668d 100644
--- a/doc/documentation/gnunet-c-tutorial.texi
+++ b/doc/tutorial/gnunet-tutorial.texi
@@ -1,8 +1,8 @@
1\input texinfo 1\input texinfo
2@c %**start of header 2@c %**start of header
3@setfilename gnunet-c-tutorial.info 3@setfilename gnunet-tutorial.info
4@documentencoding UTF-8 4@documentencoding UTF-8
5@settitle GNUnet C Tutorial 5@settitle GNUnet Tutorial
6@c @exampleindent 2 6@c @exampleindent 2
7@c %**end of header 7@c %**end of header
8 8
@@ -78,6 +78,7 @@ how to contact the GNUnet team:
78* Introduction to GNUnet Architecture:: Introduction to GNUnet Architecture 78* Introduction to GNUnet Architecture:: Introduction to GNUnet Architecture
79* First Steps with GNUnet:: First Steps with GNUnet 79* First Steps with GNUnet:: First Steps with GNUnet
80* Developing Applications:: Developing Applications 80* Developing Applications:: Developing Applications
81* GNU Free Documentation License:: The license of this manual
81 82
82@detailmenu 83@detailmenu
83 --- The Detailed Node Listing --- 84 --- The Detailed Node Listing ---
@@ -696,7 +697,7 @@ about them can be found in the testbed default configuration file
696With the testbed API, a sample test case can be structured as follows: 697With the testbed API, a sample test case can be structured as follows:
697 698
698@example 699@example
699@verbatiminclude testbed_test.c 700@verbatiminclude examples/testbed_test.c
700@end example 701@end example
701 702
702@noindent 703@noindent
@@ -857,7 +858,7 @@ and a handle to the parsed configuration (and the configuration
857file name that was used, which is typically not needed): 858file name that was used, which is typically not needed):
858 859
859@example 860@example
860@verbatiminclude tutorial-examples/001.c 861@verbatiminclude examples/001.c
861@end example 862@end example
862 863
863@menu 864@menu
@@ -875,7 +876,7 @@ add a string-option and a binary flag (defaulting to @code{NULL} and
875@code{GNUNET\_NO} respectively): 876@code{GNUNET\_NO} respectively):
876 877
877@example 878@example
878@verbatiminclude tutorial-examples/002.c 879@verbatiminclude examples/002.c
879@end example 880@end example
880 881
881Issues such as displaying some helpful text describing options using 882Issues such as displaying some helpful text describing options using
@@ -932,7 +933,7 @@ Before a client library can implement the application-specific protocol
932with the service, a connection must be created: 933with the service, a connection must be created:
933 934
934@example 935@example
935@verbatiminclude tutorial-examples/003.c 936@verbatiminclude examples/003.c
936@end example 937@end example
937 938
938@noindent 939@noindent
@@ -954,7 +955,7 @@ This header defines the size and the type of the
954message, the payload follows after this header. 955message, the payload follows after this header.
955 956
956@example 957@example
957@verbatiminclude tutorial-examples/004.c 958@verbatiminclude examples/004.c
958@end example 959@end example
959 960
960@noindent 961@noindent
@@ -962,7 +963,7 @@ Existing message types are defined in @file{gnunet\_protocols.h}.
962A common way to create a message is with an envelope: 963A common way to create a message is with an envelope:
963 964
964@example 965@example
965@verbatiminclude tutorial-examples/005.c 966@verbatiminclude examples/005.c
966@end example 967@end example
967 968
968@noindent 969@noindent
@@ -997,7 +998,7 @@ to process the message. Note that the prefixes @code{check\_}
997and @code{handle\_} are mandatory. 998and @code{handle\_} are mandatory.
998 999
999@example 1000@example
1000@verbatiminclude tutorial-examples/006.c 1001@verbatiminclude examples/006.c
1001@end example 1002@end example
1002 1003
1003@noindent 1004@noindent
@@ -1050,7 +1051,7 @@ The key API definition for creating a service is the
1050@code{GNUNET\_SERVICE\_MAIN} macro: 1051@code{GNUNET\_SERVICE\_MAIN} macro:
1051 1052
1052@example 1053@example
1053@verbatiminclude tutorial-examples/007.c 1054@verbatiminclude examples/007.c
1054@end example 1055@end example
1055 1056
1056@noindent 1057@noindent
@@ -1063,7 +1064,7 @@ A minimal version of the three central service funtions would look
1063like this: 1064like this:
1064 1065
1065@example 1066@example
1066@verbatiminclude tutorial-examples/008.c 1067@verbatiminclude examples/008.c
1067@end example 1068@end example
1068 1069
1069@noindent 1070@noindent
@@ -1101,7 +1102,7 @@ One of the first things any service that extends the P2P protocol
1101typically does is connect to the @code{CORE} service using: 1102typically does is connect to the @code{CORE} service using:
1102 1103
1103@example 1104@example
1104@verbatiminclude tutorial-examples/009.c 1105@verbatiminclude examples/009.c
1105@end example 1106@end example
1106 1107
1107@menu 1108@menu
@@ -1120,7 +1121,7 @@ be known to the service. This is notified by the @code{CORE}
1120peer to the service: 1121peer to the service:
1121 1122
1122@example 1123@example
1123@verbatiminclude tutorial-examples/010.c 1124@verbatiminclude examples/010.c
1124@end example 1125@end example
1125 1126
1126@noindent 1127@noindent
@@ -1178,7 +1179,7 @@ peer and the service is no longer allowed to send messages to the peer.
1178The disconnect callback looks like the following: 1179The disconnect callback looks like the following:
1179 1180
1180@example 1181@example
1181@verbatiminclude tutorial-examples/011.c 1182@verbatiminclude examples/011.c
1182@end example 1183@end example
1183 1184
1184@noindent 1185@noindent
@@ -1202,7 +1203,7 @@ stored with PEERSTORE contains the following fields:
1202 1203
1203The first step is to start a connection to the PEERSTORE service: 1204The first step is to start a connection to the PEERSTORE service:
1204@example 1205@example
1205@verbatiminclude tutorial-examples/012.c 1206@verbatiminclude examples/012.c
1206@end example 1207@end example
1207 1208
1208The service handle @code{peerstore_handle} will be needed for 1209The service handle @code{peerstore_handle} will be needed for
@@ -1221,7 +1222,7 @@ all subsequent PEERSTORE operations.
1221To store a new record, use the following function: 1222To store a new record, use the following function:
1222 1223
1223@example 1224@example
1224@verbatiminclude tutorial-examples/013.c 1225@verbatiminclude examples/013.c
1225@end example 1226@end example
1226 1227
1227@noindent 1228@noindent
@@ -1242,7 +1243,7 @@ operation. This handle can be used to cancel the store operation only
1242before the continuation function is called: 1243before the continuation function is called:
1243 1244
1244@example 1245@example
1245@verbatiminclude tutorial-examples/013.1.c 1246@verbatiminclude examples/013.1.c
1246@end example 1247@end example
1247 1248
1248@node Retrieving records 1249@node Retrieving records
@@ -1251,7 +1252,7 @@ before the continuation function is called:
1251To retrieve stored records, use the following function: 1252To retrieve stored records, use the following function:
1252 1253
1253@example 1254@example
1254@verbatiminclude tutorial-examples/014.c 1255@verbatiminclude examples/014.c
1255@end example 1256@end example
1256 1257
1257@noindent 1258@noindent
@@ -1283,7 +1284,7 @@ stored under a specific key combination (subsystem, peerid, key).
1283To start the monitoring, use the following function: 1284To start the monitoring, use the following function:
1284 1285
1285@example 1286@example
1286@verbatiminclude tutorial-examples/015.c 1287@verbatiminclude examples/015.c
1287@end example 1288@end example
1288 1289
1289@noindent 1290@noindent
@@ -1293,7 +1294,7 @@ record. This will continue until the connection to the PEERSTORE
1293service is broken or the watch operation is canceled: 1294service is broken or the watch operation is canceled:
1294 1295
1295@example 1296@example
1296@verbatiminclude tutorial-examples/016.c 1297@verbatiminclude examples/016.c
1297@end example 1298@end example
1298 1299
1299@node Disconnecting from PEERSTORE 1300@node Disconnecting from PEERSTORE
@@ -1303,7 +1304,7 @@ When the connection to the PEERSTORE service is no longer needed,
1303disconnect using the following function: 1304disconnect using the following function:
1304 1305
1305@example 1306@example
1306@verbatiminclude tutorial-examples/017.c 1307@verbatiminclude examples/017.c
1307@end example 1308@end example
1308 1309
1309@noindent 1310@noindent
@@ -1321,7 +1322,7 @@ This section will explain how to use the DHT. Of course, the first
1321thing to do is to connect to the DHT service: 1322thing to do is to connect to the DHT service:
1322 1323
1323@example 1324@example
1324@verbatiminclude tutorial-examples/018.c 1325@verbatiminclude examples/018.c
1325@end example 1326@end example
1326 1327
1327@noindent 1328@noindent
@@ -1354,7 +1355,7 @@ errors, peers leaving and other unfavorable events, just make several
1354PUT requests! 1355PUT requests!
1355 1356
1356@example 1357@example
1357@verbatiminclude tutorial-examples/019.c 1358@verbatiminclude examples/019.c
1358@end example 1359@end example
1359 1360
1360@noindent 1361@noindent
@@ -1380,7 +1381,7 @@ the callback will get a list of all the peers the data has travelled,
1380both on the PUT path and on the GET path. 1381both on the PUT path and on the GET path.
1381 1382
1382@example 1383@example
1383@verbatiminclude tutorial-examples/020.c 1384@verbatiminclude examples/020.c
1384@end example 1385@end example
1385 1386
1386@noindent 1387@noindent
@@ -1425,7 +1426,7 @@ is zero. The block group is typically used to filter duplicate
1425replies. 1426replies.
1426 1427
1427@example 1428@example
1428@verbatiminclude tutorial-examples/021.c 1429@verbatiminclude examples/021.c
1429@end example 1430@end example
1430 1431
1431@noindent 1432@noindent
@@ -1446,7 +1447,7 @@ should simply return @code{GNUNET\_SYSERR} (the DHT will still work
1446just fine with such blocks). 1447just fine with such blocks).
1447 1448
1448@example 1449@example
1449@verbatiminclude tutorial-examples/022.c 1450@verbatiminclude examples/022.c
1450@end example 1451@end example
1451 1452
1452@node Initialization of the plugin 1453@node Initialization of the plugin
@@ -1459,7 +1460,7 @@ about and returns a struct with the functions that are to be used for
1459validation and obtaining keys (the ones just defined above). 1460validation and obtaining keys (the ones just defined above).
1460 1461
1461@example 1462@example
1462@verbatiminclude tutorial-examples/023.c 1463@verbatiminclude examples/023.c
1463@end example 1464@end example
1464 1465
1465@node Shutdown of the plugin 1466@node Shutdown of the plugin
@@ -1470,7 +1471,7 @@ export a second function for cleaning up. It usually does very
1470little. 1471little.
1471 1472
1472@example 1473@example
1473@verbatiminclude tutorial-examples/024.c 1474@verbatiminclude examples/024.c
1474@end example 1475@end example
1475 1476
1476@node Integration of the plugin with the build system 1477@node Integration of the plugin with the build system
@@ -1482,7 +1483,7 @@ service SERVICE should contain a rule similar to this:
1482@c must be improved. 1483@c must be improved.
1483 1484
1484@example 1485@example
1485@verbatiminclude tutorial-examples/025.Makefile.am 1486@verbatiminclude examples/025.Makefile.am
1486@end example 1487@end example
1487 1488
1488@noindent 1489@noindent
@@ -1507,7 +1508,7 @@ messages. When an event happens, the appropiate callback is
1507called with all the information about the event. 1508called with all the information about the event.
1508 1509
1509@example 1510@example
1510@verbatiminclude tutorial-examples/026.c 1511@verbatiminclude examples/026.c
1511@end example 1512@end example
1512 1513
1513@node Debugging with gnunet-arm 1514@node Debugging with gnunet-arm
@@ -1556,4 +1557,12 @@ Exercise: Add a memory leak to your service and obtain a trace
1556pointing to the leak using @command{valgrind} while running the service 1557pointing to the leak using @command{valgrind} while running the service
1557from @command{gnunet-service-arm}. 1558from @command{gnunet-service-arm}.
1558 1559
1560
1561@c *********************************************************************
1562@node GNU Free Documentation License
1563@appendix GNU Free Documentation License
1564@cindex license, GNU Free Documentation License
1565@include fdl-1.3.texi
1566
1567
1559@bye 1568@bye