aboutsummaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING57
1 files changed, 57 insertions, 0 deletions
diff --git a/HACKING b/HACKING
new file mode 100644
index 000000000..3c50af952
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,57 @@
1Naming conventions:
2
3include files:
4- _lib: library without need for a process
5- _service: library that needs a service process
6- _plugin: plugin definition
7- _protocol: structs used in network protocol
8- exceptions:
9 * GNUNET_config.h --- generated // FIXME: decapitalize
10 * platform.h --- first included
11 * plibc.h --- external library
12 * gnunet_common.h --- fundamental routines
13 * gnunet_directories.h --- generated
14 * gettext.h --- external library
15
16
17exported symbols:
18- must start with "GNUNET_modulename_" and be defined in "modulename.c"
19- exceptions: those defined in gnunet_common.h
20
21
22testcases:
23- must be called "test_module-under-test_case-description.c"
24- "case-description" maybe omitted if there is only one test
25
26
27performance tests:
28- must be called "perf_module-under-test_case-description.c"
29- "case-description" maybe omitted if there is only one test
30
31
32
33src/ directories:
34- apps: end-user applications (i.e., gnunet-search)
35- connectors: libraries requiring services (i.e., libgnunetstatistics)
36- libs: standalone libraries (i.e., libgnunetecrs, etc.)
37- plugins: loadable plugins (i.e., TCP transport, MySQL backend)
38 * transports: udp/tcp/http/dv???
39- services: arm-controlled applications (i.e., gnunet-service-statistics)
40- util: library for everyone
41
42For each directory in services, there should be one
43in connectors and vice-versa.
44
45For each entry in apps, there should be one in libs.
46
47
48
49Minimum file-sharing system (in order of dependency):
50gnunet-arm
51gnunet-transport (name?)
52gnunet-core (name?)
53gnunet-datastore
54gnunet-statistics (integrate traffic?)
55gnunet-dv
56gnunet-dht
57gnunet-fs