gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnunet-scheme] 56/324: Define many GNUnet message types.


From: gnunet
Subject: [gnunet-scheme] 56/324: Define many GNUnet message types.
Date: Tue, 21 Sep 2021 13:21:36 +0200

This is an automated email from the git hooks/post-receive script.

maxime-devos pushed a commit to branch master
in repository gnunet-scheme.

commit 1680dc1488aa6300c3951d606f44a8cb2c53b8a8
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Thu Jan 28 11:11:44 2021 +0100

    Define many GNUnet message types.
    
    * gnu/gnunet/message/enum-*.scmfrag: new file (to many
      to list individually).
    * gnu/gnunet/message/protocols.scm: include S-expression generated
      by protocols.scmgen.
    * gnu/gnunet/message/protocols.scmgen
      (msg:filler): generate enumeration values for unassigned and
      undefined values.
      (entries): define a list of all enumeration values (S-expression).
      (fix-entry): replace 'msg:???' by filler entries.
      (entries/fixed): define a list of all enumeration values,
      as adjusted by the previous procedure.
      (verify-entry): verify whether indices and ordering are correct
      (result): compute S-expression of the library form to use.
      (message-type, message-type?): new enumeration.
---
 gnu/gnunet/message/enum-agpl.scmfrag          |  10 ++
 gnu/gnunet/message/enum-arm.scmfrag           |  34 +++++
 gnu/gnunet/message/enum-ats.scmfrag           |  65 +++++++++
 gnu/gnunet/message/enum-chat.scmfrag          |  51 +++++++
 gnu/gnunet/message/enum-consensus.scmfrag     |  66 +++++++++
 gnu/gnunet/message/enum-conversation.scmfrag  |  68 ++++++++++
 gnu/gnunet/message/enum-core.scmfrag          |  89 +++++++++++++
 gnu/gnunet/message/enum-datastore.scmfrag     |  67 ++++++++++
 gnu/gnunet/message/enum-dht.scmfrag           |  60 +++++++++
 gnu/gnunet/message/enum-fragment.scmfrag      |  13 ++
 gnu/gnunet/message/enum-fs-publish.scmfrag    |  32 +++++
 gnu/gnunet/message/enum-fs.scmfrag            |  70 ++++++++++
 gnu/gnunet/message/enum-gns.scmfrag           |  19 +++
 gnu/gnunet/message/enum-hello.scmfrag         |  12 ++
 gnu/gnunet/message/enum-identity.scmfrag      |  51 +++++++
 gnu/gnunet/message/enum-lockmanager.scmfrag   |  15 +++
 gnu/gnunet/message/enum-multicast.scmfrag     |  68 ++++++++++
 gnu/gnunet/message/enum-namecache.scmfrag     |  18 +++
 gnu/gnunet/message/enum-namestore.scmfrag     |  65 +++++++++
 gnu/gnunet/message/enum-nse.scmfrag           |  15 +++
 gnu/gnunet/message/enum-peerinfo.scmfrag      |  22 +++
 gnu/gnunet/message/enum-psyc.scmfrag          | 107 +++++++++++++++
 gnu/gnunet/message/enum-psycstore.scmfrag     |  73 ++++++++++
 gnu/gnunet/message/enum-regex.scmfrag         |  14 ++
 gnu/gnunet/message/enum-resolver.scmfrag      |  10 ++
 gnu/gnunet/message/enum-revocation.scmfrag    |  18 +++
 gnu/gnunet/message/enum-scalarproduct.scmfrag |  51 +++++++
 gnu/gnunet/message/enum-set.scmfrag           | 140 +++++++++++++++++++
 gnu/gnunet/message/enum-statistics.scmfrag    |  41 ++++++
 gnu/gnunet/message/enum-testbed.scmfrag       | 130 ++++++++++++++++++
 gnu/gnunet/message/enum-transport-dv.scmfrag  |  43 ++++++
 gnu/gnunet/message/enum-transport.scmfrag     | 122 +++++++++++++++++
 gnu/gnunet/message/enum-util.scmfrag          |   9 ++
 gnu/gnunet/message/enum-vpn-dns.scmfrag       |  19 +++
 gnu/gnunet/message/enum-vpn.scmfrag           |  70 ++++++++++
 gnu/gnunet/message/enum-wlan.scmfrag          |  23 ++++
 gnu/gnunet/message/protocols.scm              |  33 +++++
 gnu/gnunet/message/protocols.scmgen           | 185 ++++++++++++++++++++++++++
 38 files changed, 1998 insertions(+)

diff --git a/gnu/gnunet/message/enum-agpl.scmfrag 
b/gnu/gnunet/message/enum-agpl.scmfrag
new file mode 100644
index 0000000..250f6d6
--- /dev/null
+++ b/gnu/gnunet/message/enum-agpl.scmfrag
@@ -0,0 +1,10 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * AGPL source code download
+(value
+ (symbol msg:agpl:request)
+ (index 1)
+ (documentation "Message type to request source code link."))
+(value
+ (symbol msg:agpl:response)
+ (index 2)
+ (documentation "Source code link."))
diff --git a/gnu/gnunet/message/enum-arm.scmfrag 
b/gnu/gnunet/message/enum-arm.scmfrag
new file mode 100644
index 0000000..172e1ad
--- /dev/null
+++ b/gnu/gnunet/message/enum-arm.scmfrag
@@ -0,0 +1,34 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * ARM message types
+(value
+ (symbol msg:arm:start!)
+ (index 8)
+ (documentation "Request to ARM to start a service."))
+(value
+ (symbol msg:arm:stop!)
+ (index 9)
+ (documentation "Request to ARM to stop a service."))
+(value
+ (symbol msg:arm:result)
+ (index 10)
+ (documentation "Response from ARM."))
+(value
+ (symbol msg:arm:status)
+ (index 11)
+ (documentation "Status update from ARM."))
+(value
+ (symbol msg:arm:list)
+ (index 12)
+ (documentation "Request to ARM to list all currently running services"))
+(value
+ (symbol msg:arm:list-result)
+ (index 13)
+ (documentation "Response from ARM for listing currently running services"))
+(value
+ (symbol msg:arm:monitor)
+ (index 14)
+ (documentation "Request to ARM to notify client of service status changes"))
+(value
+ (symbol msg:arm:test)
+ (index 15)
+ (documentation "Test if ARM service is online."))
diff --git a/gnu/gnunet/message/enum-ats.scmfrag 
b/gnu/gnunet/message/enum-ats.scmfrag
new file mode 100644
index 0000000..eefac85
--- /dev/null
+++ b/gnu/gnunet/message/enum-ats.scmfrag
@@ -0,0 +1,65 @@
+;; (See protocols.scmgen for license and copyright information)
+;;
+;; * ATS message types
+;; TODO documentation
+(value
+ (symbol msg:ats:start!)
+ (index 340)
+ (documentation ""))
+(value
+ (symbol msg:ats:request-address!)
+ (index 341)
+ (documentation ""))
+(value
+ (symbol msg:ats:request-address:cancel!)
+ (index 342)
+ (documentation ""))
+(value
+ (symbol msg:ats:address:update)
+ (index 343)
+ (documentation ""))
+(value
+ (symbol msg:ats:address:destroyed)
+ (index 344)
+ (documentation ""))
+(value
+ (symbol msg:ats:address:suggestion)
+ (index 345)
+ (documentation ""))
+(value
+ (symbol msg:ats:peer-information)
+ (index 346)
+ (documentation ""))
+(value
+ (symbol msg:ats:reservation:request!)
+ (index 347)
+ (documentation ""))
+(value
+ (symbol msg:ats:reservation:result)
+ (index 348)
+ (documentation ""))
+(value
+ (symbol msg:ats:preference-change)
+ (index 349)
+ (documentation ""))
+(value
+ (symbol msg:ats:session-release)
+ (index 350)
+ (documentation ""))
+msg:351 msg:352
+(value
+ (symbol msg:ats:address:add!)
+ (index 353)
+ (documentation ""))
+(value
+ (symbol msg:ats:addresslist:request)
+ (index 354)
+ (documentation ""))
+(value
+ (symbol msg:ats:addresslist:response )
+ (index 355)
+ (documentation ""))
+(value
+ (symbol msg:ats:preference:feedback)
+ (index 356)
+ (documentation ""))
diff --git a/gnu/gnunet/message/enum-chat.scmfrag 
b/gnu/gnunet/message/enum-chat.scmfrag
new file mode 100644
index 0000000..6d4ef70
--- /dev/null
+++ b/gnu/gnunet/message/enum-chat.scmfrag
@@ -0,0 +1,51 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * CHAT message types START
+;; TODO document
+(value
+ (symbol msg:chat:join:request)
+ (index 300)
+ (documentation ""))
+(value
+ (symbol msg:chat:join:notification)
+ (index 301)
+ (documentation ""))
+(value
+ (symbol msg:chat:leave:notification)
+ (index 302)
+ (documentation ""))
+(value
+ (symbol msg:chat:message:notification)
+ (index 303)
+ (documentation ""))
+(value
+ (symbol msg:chat:transmit:request)
+ (index 304)
+ (documentation ""))
+(value
+ (symbol msg:chat:confirmation:receipt)
+ (index 305)
+ (documentation ""))
+(value
+ (symbol msg:chat:confirmation:notification)
+ (index 306)
+ (documentation ""))
+(value
+ (symbol msg:chat:p2p:join:notification)
+ (index 307)
+ (documentation ""))
+(value
+ (symbol msg:chat:p2p:leave:notification)
+ (index 308)
+ (documentation ""))
+(value
+ (symbol msg:chat:p2p:sync:request)
+ (index 309)
+ (documentation ""))
+(value
+ (symbol msg:chat:p2p:message:notification)
+ (index 310)
+ (documentation ""))
+(value
+ (symbol msg:chat:p2p:confirmation:receipt)
+ (index 311)
+ (documentation ""))
diff --git a/gnu/gnunet/message/enum-consensus.scmfrag 
b/gnu/gnunet/message/enum-consensus.scmfrag
new file mode 100644
index 0000000..c333eeb
--- /dev/null
+++ b/gnu/gnunet/message/enum-consensus.scmfrag
@@ -0,0 +1,66 @@
+;; (See enum-header.scmgen for license and copyright information)
+
+;; * CONSENSUS message types
+;; Join a consensus session.
+;; Sent by client to service as first message.
+(value
+ (symbol msg:consensus:client:join!)
+ (index 520)
+ (documentation ""))
+(value
+ (symbol msg:consensus:client:insert!)
+ (index 521)
+ (documentation "Insert an element. Sent by client to service."))
+(value
+ (symbol msg:consensus:client:begin!)
+ (index 522)
+ (documentation "Begin accepting new elements from other participants.
+Sent by client to service."))
+(value
+ (symbol msg:consensus:client:received-element)
+ (index 523)
+ (documentation "Sent by service when a new element is added."))
+(value
+ (symbol msg:consensus:client:conclude!)
+ (index 524)
+ (documentation "Sent by client to service in order to start the consensus 
conclusion."))
+(value
+ (symbol msg:consensus:client:conclude:done)
+ (index 525)
+ (documentation "Sent by service to client in order to signal
+a completed consensus
+conclusion. Last message sent in a consensus session."))
+msg:526 msg:527 msg:528 msg:529 msg:530
+msg:531 msg:532 msg:533 msg:534 msg:535
+msg:536 msg:537 msg:538 msg:539
+(value
+ (symbol msg:consensus:client:ack)
+ (index 540)
+ (documentation "Sent by client to service, telling whether a received element
+should be accepted and propagated further or not."))
+(value
+ (symbol msg:consensus:p2p:delta-estimate)
+ (index 541)
+ (documentation "Strata estimator."))
+(value
+ (symbol msg:consensus:p2p:difference-digest)
+ (index 542)
+ (documentation "IBF containing all elements of a peer."))
+(value
+ (symbol msg:consensus:p2p:elements)
+ (index 543)
+ (documentation "One or more elements that are sent from peer to peer."))
+(value
+ (symbol msg:consensus:p2p:elements-request)
+ (index 544)
+ (documentation "Elements, and requests for further elements."))
+(value
+ (symbol msg:consensus:p2p:elements-report)
+ (index 545)
+ (documentation "Elements that a peer reports to be missing
+at the remote peer."))
+msg:546
+(value
+ (symbol msg:consensus:p2p:round-context)
+ (index 547)
+ (documentation "Provide context for a consensus round."))
diff --git a/gnu/gnunet/message/enum-conversation.scmfrag 
b/gnu/gnunet/message/enum-conversation.scmfrag
new file mode 100644
index 0000000..a59bec7
--- /dev/null
+++ b/gnu/gnunet/message/enum-conversation.scmfrag
@@ -0,0 +1,68 @@
+;; (See enum-header.scmgen for license and copyright information)
+;; * CONVERSATION message types
+;; Message to transmit the audio between helper and speaker/microphone library.
+(value
+ (symbol msg:conversation:audio)
+ (index 730)
+ (documentation ""))
+(value
+ (symbol msg:conversation:cs-phone:register!)
+ (index 731)
+ (documentation "Client -> Server message to register a phone."))
+(value
+ (symbol msg:conversation:cs-phone:pick-up!)
+ (index 732)
+ (documentation "Client -> Server message to reject/hangup a call"))
+(value
+ (symbol msg:conversation:cs-phone:hang-up)
+ (index 733)
+ (documentation "CLient <- Server message to reject/hangup a call"))
+(value
+ (symbol msg:conversation:cs-phone:call)
+ (index 734)
+ (documentation "Client <- Server message to indicate a riging phone"))
+(value
+ (symbol msg:conversation:cs-phone:ring)
+ (index 735)
+ (documentation "Client <- Server message to indicate a riging phone"))
+(value
+ (symbol msg:conversation:cs-phone:suspend!)
+ (index 736)
+ (documentation "Client <-> Server message to suspend connection "))
+(value
+ (symbol msg:conversation:cs-phone:resume!)
+ (index 737)
+ (documentation "Client <-> Server message to rseume connection."))
+(value
+ (symbol msg:conversation:cs-phone:picked-up)
+ (index 738)
+ (documentation "Service -> Client message to notify that phone
+was picked up."))
+(value
+ (symbol msg:conversation:cs-phone:audio)
+ (index 739)
+ (documentation "Client <-> Server message to send audio data."))
+(value
+ (symbol msg:conversation:cadet:phone-ring)
+ (index 740)
+ (documentation "Cadet: call initiation"))
+(value
+ (symbol msg:conversation:cadet:hang-up)
+ (index 741)
+ (documentation "Cadet: hang up / refuse call"))
+(value
+ (symbol msg:conversation:cadet:pick-up)
+ (index 742)
+ (documentation "Cadet: pick up phone (establish audio channel)"))
+(value
+ (symbol msg:conversation:cadet:suspend)
+ (index 743)
+ (documentation "Cadet: phone suspended."))
+(value
+ (symbol msg:conversation:cadet:resume)
+ (index 744)
+ (documentation "Cadet: phone resumed"))
+(value
+ (symbol msg:conversation:cadet:audio)
+ (index 745)
+ (documentation "Cadet: audio data"))
diff --git a/gnu/gnunet/message/enum-core.scmfrag 
b/gnu/gnunet/message/enum-core.scmfrag
new file mode 100644
index 0000000..e8410b2
--- /dev/null
+++ b/gnu/gnunet/message/enum-core.scmfrag
@@ -0,0 +1,89 @@
+;; -*- scheme -*- (See protocols.scmgen for license and copyright information)
+
+;; * CORE message types
+(value
+ (symbol msg:core:init!)
+ (documentation "Initial setup message from core client to core.")
+ (index 64))
+(value
+ (symbol msg:core:init-reply)
+ (documentation "Response from core to core client to INIT message.")
+ (index 65))
+msg:66
+(value
+ (symbol msg:core:notify:connect)
+ (documentation
+  "Notify clients about new peer-to-peer connections
+(triggered after key exchange).")
+ (index 67))
+(value
+ (symbol msg:core:notify:disconnect)
+ (documentation "Notify clients about peer disconnecting.")
+ (index 68))
+(value
+ (symbol msg:core:notify:status-change)
+ (documentation "Notify clients about peer status change.")
+ (index 69))
+(value
+ (symbol msg:core:notify:inbound)
+ (documentation "Notify clients about incoming P2P messages.")
+ (index 70))
+(value
+ (symbol msg:core:notify:outbound)
+ (documentation "Notify clients about outgoing P2P transmissions.")
+ (index 71))
+msg:72 msg:73
+(value
+ (symbol msg:core:send:request)
+ (documentation "Request from client to transmit message.")
+ (index 74))
+(value
+ (symbol msg:core:send:ready)
+ (documentation "Confirmation from core that message can now be sent")
+ (index 75))
+;; FIXME unclear description
+(value
+ (symbol msg:core:send)
+ (documentation "Client with message to transmit (after msg:core:send:ready
+confirmation was received).")
+ (index 76))
+msg:77
+;; Request for connection monitoring from CORE service.
+msg:core:monitor:peers
+(value
+ (symbol msg:core:monitor:notify)
+ (documentation "Reply for monitor by CORE service.")
+ (index 79))
+msg:80 msg:81
+(value
+ (symbol msg:core:encrypted-message)
+ (documentation "Encapsulation for an encrypted message between peers.")
+ (index 82))
+(value
+ (symbol msg:core:ping)
+ (documentation "Check that other peer is alve (challenge).")
+ (index 83))
+(value
+ (symbol msg:core:pong)
+ (documentation "Confirmation that other peer is alive.")
+ (index 84))
+(value
+ (symbol msg:core:hangup)
+ (documentation "Request by the other peer to terminate the connection")
+ (index 85))
+(value
+ (symbol msg:core:compressed-type-map)
+ (documentation "gzip-compressed type map of the sender")
+ (index 86))
+(value
+ (symbol msg:core:binary-type-map)
+ (documentation "Uncompressed type map of the sender")
+ (index 87))
+(value
+ (symbol msg:core:ephemeral-key)
+ (documentation "Session key exchange between peers.")
+ (index 88))
+(value
+ (symbol msg:core:confirm-type-map)
+ (documentation "Other peer confirms having received the type map.")
+ (index 89))
diff --git a/gnu/gnunet/message/enum-datastore.scmfrag 
b/gnu/gnunet/message/enum-datastore.scmfrag
new file mode 100644
index 0000000..304b6af
--- /dev/null
+++ b/gnu/gnunet/message/enum-datastore.scmfrag
@@ -0,0 +1,67 @@
+;; -*- scheme -*- (See protocols.scmgen for license and copyright information)
+
+;; * DATASTORE message types
+(value
+ (symbol msg:datastore:reserve)
+ (documentation "Message sent by datastore clients on join.")
+ (index 92))
+(value
+ (symbol msg:datastore:release-preserve)
+ ;; FIXME this is the same description as
+ ;; the former message type. Documentation bug?
+ (documentation "Message sent by datastore client on join.")
+ (index 93))
+(value
+ (symbol msg:datastore:status)
+ (documentation "Message sent by datastore to client informing
+about status processing a request
+(in response to FIXME RESERVE, RELEASE_RESERVE,
+PUT, UPDATE and REMOVE requests)")
+ (index 94))
+(value
+ (documentation "Message sent by datastore client to store data.")
+ (symbol msg:datastore:put!)
+ (index 95))
+;; Filler (96)
+msg:96
+(value
+ (documentation "Message sent by datastore client to get data.")
+ (symbol msg:datastore:get)
+ (index 97))
+(value
+ (documentation "Message sent by datastore client to get random data.")
+ (symbol msg:datastore:get-replication)
+ (index 98))
+;; FIXME this is the same description as the former
+;; message.
+(value
+ (documentation "Message sent by datastore client to get random data.")
+ (symbol msg:datastore:get-zero-anonymity)
+ (index 99))
+(value
+ ;; FIXME msg:datastore:get-random doesn't exist.
+ (documentation "Message sent by datastore to client providing
+requested data (in response to msg:datastore:get
+or msg:datastore:get-random request)")
+ (symbol msg:datastore:data)
+ (index 100))
+(value
+ (documentation
+  ;; FIXME in response to which?
+  "Message sent by datastore to client signaling end of matching data.
+This message will also be sent for \"GET_RANDOM\", even though
+\"GET_RANDOM\" returns at most one data item.")
+ (symbol msg:datastore:data-end)
+ (index 101))
+(value
+ (documentation "Message sent by datastore client to remove data.")
+ (symbol msg:datastore:remove!)
+ (index 102))
+(value
+ (documentation "Message sent by datastore client to drop the database.")
+ (symbol msg:datastore:drop!)
+ (index 103))
+(value
+ (documentation "Message sent by datastore client to get data by key.")
+ (symbol msg:datastore:get-key)
+ (index 104))
diff --git a/gnu/gnunet/message/enum-dht.scmfrag 
b/gnu/gnunet/message/enum-dht.scmfrag
new file mode 100644
index 0000000..55514e0
--- /dev/null
+++ b/gnu/gnunet/message/enum-dht.scmfrag
@@ -0,0 +1,60 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * DHT message types
+;; TODO comments
+(value
+ (symbol msg:dht:client:put)
+ (index 142)
+ (documentation ""))
+(value
+ (symbol msg:dht:client:get)
+ (index 143)
+ (documentation ""))
+(value
+ (symbol msg:dht:client:get:stop)
+ (index 144)
+ (documentation ""))
+(value
+ (symbol msg:dht:client:result)
+ (index 145)
+ (documentation ""))
+(value
+ (symbol msg:dht:p2p:put)
+ (index 146)
+ (documentation ""))
+(value
+ (symbol msg:dht:p2p:get)
+ (index 147)
+ (documentation ""))
+(value
+ (symbol msg:dht:p2p:result)
+ (index 148)
+ (documentation ""))
+(value
+ (symbol msg:dht:monitor:get)
+ (index 149)
+ (documentation ""))
+(value
+ (symbol msg:dht:monitor:get-response)
+ (index 150)
+ (documentation ""))
+(value
+ (symbol msg:dht:monitor:put)
+ (index 151)
+ (documentation ""))
+(value
+ (symbol msg:dht:monitor:put-response)
+ (index 152)
+ (documentation ""))
+(value
+ (symbol msg:dht:monitor:start!)
+ (index 153)
+ (documentation ""))
+(value
+ (symbol msg:dht:monitor:stop!)
+ (index 154)
+ (documentation ""))
+msg:155
+(value
+ (symbol msg:dht:client-get-result-known)
+ (index 156)
+ (documentation ""))
diff --git a/gnu/gnunet/message/enum-fragment.scmfrag 
b/gnu/gnunet/message/enum-fragment.scmfrag
new file mode 100644
index 0000000..09f5405
--- /dev/null
+++ b/gnu/gnunet/message/enum-fragment.scmfrag
@@ -0,0 +1,13 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * FRAGMENTATION message types.
+;; FRAGMENT of a larger message.
+;; Managed by libgnunetfragment.
+(value
+ (symbol msg:fragment)
+ (index 18)
+ (documentation ""))
+(value
+ (symbol msg:fragment:ack)
+ (index 19)
+ (documentation "Acknowledgement of a FRAGMENT of a larger message.
+Managed by libgnunetfragment."))
diff --git a/gnu/gnunet/message/enum-fs-publish.scmfrag 
b/gnu/gnunet/message/enum-fs-publish.scmfrag
new file mode 100644
index 0000000..8d97eff
--- /dev/null
+++ b/gnu/gnunet/message/enum-fs-publish.scmfrag
@@ -0,0 +1,32 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * FS-PUBLISH-HELPER IPC Messages
+;; Progress information from the helper: found a file.
+(value
+ (symbol msg:fs:publish:helper:progress:file)
+ (index 420)
+ (documentation ""))
+(value
+ (symbol msg:fs:publish:helper:progress:directory)
+ (index 421)
+ (documentation "Progress information from the helper:
+found a directory."))
+(value
+ (symbol msg:fs:publish:helper:error)
+ (index 422)
+ (documentation "Error signal from the helper."))
+(value
+ (symbol msg:fs:publish:helper:skip-file)
+ (index 423)
+ (documentation "Signal that helper skipped a file."))
+(value
+ (symbol msg:fs:publish:helper:counting-done)
+ (index 424)
+ (documentation "Signal that helper is done scaning the directory tree."))
+(value
+ (symbol msg:fs:publish:helper:meta-data)
+ (index 425)
+ (documentation "Extracted meta data from the helper."))
+(value
+ (symbol msg:fs:publish:helper:finished)
+ (index 426)
+ (documentation "Signal that helper is done."))
diff --git a/gnu/gnunet/message/enum-fs.scmfrag 
b/gnu/gnunet/message/enum-fs.scmfrag
new file mode 100644
index 0000000..d0bc598
--- /dev/null
+++ b/gnu/gnunet/message/enum-fs.scmfrag
@@ -0,0 +1,70 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * FS message types
+
+(value
+ (symbol msg:fs:loc-sign)
+ (index 126)
+ (documentation "Message sent by fs client to request LOC signature."))
+(value
+ (symbol msg:fs:request-loc-signature)
+ (index 127)
+ (documentation "Reply sent by fs service with LOC signature."))
+(value
+ (symbol msg:fs:index-start!)
+ (index 128)
+ (documentation "* Message sent by fs client to start indexing."))
+(value
+ (symbol msg:fs:index-start:ok)
+ (index 129)
+ (documentation "Affirmative response to a request for start indexing."))
+(value
+ (symbol msg:fs:index-start:failed)
+ (index 130)
+ (documentation "Response to a request for start indexing that refuses."))
+(value
+ (symbol msg:fs:index-list:get)
+ (index 131)
+ (documentation "Request from client for list of indexed files."))
+(value
+ (symbol msg:fs:index-list:entry)
+ (index 132)
+ (documentation "Reply to client with an indexed file name."))
+(value
+ (symbol msg:fs:index-list:end)
+ (index 133)
+ (documentation "Reply to client indicating end of list."))
+(value
+ (symbol msg:fs:unindex!)
+ (index 134)
+ (documentation "Request from client to unindex a file."))
+(value
+ (symbol msg:fs:unindex:ok)
+ (index 135)
+ (documentation "Reply to client indicating unindex receipt."))
+(value
+ (symbol msg:fs:start-search!)
+ (index 136)
+ (documentation "Client asks FS service to start a (keyword) search."))
+(value
+ (symbol msg:fs:get)
+ (index 137)
+ (documentation "P2P request for content (one FS to another)."))
+(value
+ (symbol msg:fs:put!)
+ (index 138)
+ (documentation "P2P response with content or active migration of content.
+Also used between the service and clients (in response to
+msg:fs:start-search!)."))
+(value
+ (symbol msg:fs:migration-stop!)
+ (index 139)
+ (documentation
+  "Peer asks us to stop migrating content towards it for a while."))
+(value
+ (symbol msg:fs:cadet-query)
+ (index 140)
+ (documentation "P2P request for content (one FS to another via a cadet)."))
+(value
+ (symbol msg:fs:cadet-reply)
+ (index 141)
+ (documentation "P2P answer for content (one FS to another via a cadet)."))
diff --git a/gnu/gnunet/message/enum-gns.scmfrag 
b/gnu/gnunet/message/enum-gns.scmfrag
new file mode 100644
index 0000000..ebfa324
--- /dev/null
+++ b/gnu/gnunet/message/enum-gns.scmfrag
@@ -0,0 +1,19 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * GNS.
+(value
+ (symbol msg:gns:lookup)
+ (index 500)
+ (documentation "Client would like to resolve a name."))
+(value
+ (symbol msg:gns:lookup:result)
+ (index 501)
+ (documentation "Service response to name resolution request from client."))
+msg:502
+(value
+ (symbol msg:gns:reverse-lookup)
+ (index 503)
+ (documentation "Reverse lookup."))
+(value
+ (symbol msg:gns:reverse-lookup:result)
+ (index 504)
+ (documentation "Response to reverse lookup."))
diff --git a/gnu/gnunet/message/enum-hello.scmfrag 
b/gnu/gnunet/message/enum-hello.scmfrag
new file mode 100644
index 0000000..b709f21
--- /dev/null
+++ b/gnu/gnunet/message/enum-hello.scmfrag
@@ -0,0 +1,12 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * Hello message types
+(value
+ (symbol msg:hello:legacy)
+ (index 16)
+ (documentation "Previously used for HELLO messages used for communicating
+peer addresses.  Managed by libgnunethello."))
+(value
+ (symbol msg:hello)
+ (index 17)
+ (documentation "HELLO message with friend only flag used for communicating
+peer addresses.  Managed by libgnunethello."))
diff --git a/gnu/gnunet/message/enum-identity.scmfrag 
b/gnu/gnunet/message/enum-identity.scmfrag
new file mode 100644
index 0000000..e5dfead
--- /dev/null
+++ b/gnu/gnunet/message/enum-identity.scmfrag
@@ -0,0 +1,51 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * IDENTITY messsage types
+(value
+ (symbol msg:identity:start!)
+ (index 624)
+ (documentation "First message send from identity client to service
+(to subscribe to updates)."))
+(value
+ (symbol msg:identity:result-code)
+ (index 625)
+ (documentation "Generic response from identity service with success
+and/or error message."))
+(value
+ (symbol msg:identity:update)
+ (index 626)
+ (documentation "Update about identity status from service to clients."))
+(value
+ (symbol msg:identity:get-default)
+ (index 627)
+ (documentation "Client requests to know default identity for a subsystem."))
+(value
+ (symbol msg:identity:set-default!)
+ (index 628)
+ (documentation "Client sets default identity; or service informs
+about default identity."))
+(value
+ (symbol msg:identity:create!)
+ (index 629)
+ (documentation "Create new identity (client->service)."))
+(value
+ (symbol msg:identity:rename!)
+ (index 630)
+ (documentation "Rename existing identity (client->service)"))
+(value
+ (symbol msg:identity:delete!)
+ (index 631)
+ (documentation "Delete identity (client->service)."))
+(value
+ (symbol msg:identity:lookup)
+ (index 632)
+ (documentation "First message send from identity client to service to
+lookup a single ego.  The service will respond with a
+msg:identity:update message if the ego exists, or a
+msg:identity:result-code if not."))
+(value
+ (symbol msg:identity:lookup-by-suffix)
+ (index 633)
+ (documentation "First message send from identity client to service
+to lookup a single ego matching the given suffix (longest match).
+The service will respond with a msg:identity:update message if the
+ego exists, or a msg:identity:result-code if not."))
diff --git a/gnu/gnunet/message/enum-lockmanager.scmfrag 
b/gnu/gnunet/message/enum-lockmanager.scmfrag
new file mode 100644
index 0000000..67e9c57
--- /dev/null
+++ b/gnu/gnunet/message/enum-lockmanager.scmfrag
@@ -0,0 +1,15 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * LOCKMANAGER message types
+(value
+ (symbol msg:lockmanager:acquire!)
+ (index 450)
+ (documentation "Message to acquire lock."))
+(value
+ (symbol msg:lockmanager:release!)
+ (index 451)
+ (documentation "Message to release lock."))
+(value
+ (symbol msg:lockmanager:success )
+ (index 452)
+ ;; FIMXE correct upstream spelling boog
+ (documentation "SUCCESS reply from lockmanager."))
diff --git a/gnu/gnunet/message/enum-multicast.scmfrag 
b/gnu/gnunet/message/enum-multicast.scmfrag
new file mode 100644
index 0000000..9249f6e
--- /dev/null
+++ b/gnu/gnunet/message/enum-multicast.scmfrag
@@ -0,0 +1,68 @@
+;; (See protocols.scmgen for license and copyright information)
+
+;; MULTICAST message types:
+;; C: client
+;; S: service
+;; T: cadet
+
+(value
+  (symbol msg:multicast:origin-start!)
+  (index 750)
+  (documentation "C->S: Start the origin."))
+(value
+  (symbol msg:multicast:member-join!)
+  (index 751)
+  (documentation "C->S: Join group as a member."))
+(value
+  (symbol msg:multicast:join-request)
+  (index 752)
+  (documentation "C<--S<->T: A peer wants to join the group.
+Unicast message to the origin or another group member."))
+(value
+  (symbol msg:multicast:join-decision)
+  (index 753)
+  (documentation "C<->S<->T: Response to a join request.
+Unicast message from a group member to the peer wanting to join."))
+(value
+  (symbol msg:multicast:part:request)
+  (index 754)
+  (documentation "A peer wants to part the group."))
+(value
+  (symbol msg:multicast:part:ack)
+  (index 755)
+  (documentation "Acknowledgement sent in response to a part request.
+Unicast message from a group member to the peer wanting to part."))
+(value
+  (symbol msg:multicast:group-end)
+  (index 756)
+  (documentation "FIXME: this is never used!
+Group terminated."))
+(value
+  (symbol msg:multicast:message)
+  (index 757)
+  (documentation "C<->S<->T: Multicast message from the origin
+to all members."))
+(value
+  (symbol msg:multicast:request)
+  (index 758)
+  (documentation "C<->S<->T: Unicast request from a group member
+to theorigin."))
+(value
+  (symbol msg:multicast:fragment:ack)
+  (index 759)
+  (documentation "C->S: Acknowledgement of a message or request fragment
+for the client."))
+(value
+  (symbol msg:multicast:replay:request)
+  (index 760)
+  (documentation "C<->S<->T: Replay request from a group member
+to another member."))
+(value
+  (symbol msg:multicast:replay:response)
+  (index 761)
+  (documentation "C<->S<->T: Replay response from a group member
+to another member."))
+(value
+  (symbol msg:multicast:replay:response:end)
+  (index 762)
+  (documentation "C<->S: End of replay response."))
diff --git a/gnu/gnunet/message/enum-namecache.scmfrag 
b/gnu/gnunet/message/enum-namecache.scmfrag
new file mode 100644
index 0000000..c86188a
--- /dev/null
+++ b/gnu/gnunet/message/enum-namecache.scmfrag
@@ -0,0 +1,18 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * NAMECACHE message types
+(value
+ (symbol msg:namecache:lookup-block)
+ (index 431)
+ (documentation "Client to service: lookup block"))
+(value
+ (symbol msg:namecache:lookup-block:response)
+ (index 432)
+ (documentation "Service to client: result of block lookup"))
+(value
+ (symbol msg:namecache:block-cache!)
+ (index 433)
+ (documentation "Client to service: cache a blok"))
+(value
+ (symbol msg:namecache:block-cache:response)
+ (index 434)
+ (documentation "Service to client: result of block cache request"))
diff --git a/gnu/gnunet/message/enum-namestore.scmfrag 
b/gnu/gnunet/message/enum-namestore.scmfrag
new file mode 100644
index 0000000..a2f9517
--- /dev/null
+++ b/gnu/gnunet/message/enum-namestore.scmfrag
@@ -0,0 +1,65 @@
+;; (See enum-header.scmgen for license and copyright information)
+;; * NAMESTORE message types
+(value
+ (symbol msg:namestore:record:store!)
+ (index 435)
+ (documentation "Client to service: store records (as authority)"))
+(value
+ (symbol msg:namestore:record:store:response)
+ (index 436)
+ (documentation "Service to client: result of store operation."))
+(value
+ (symbol msg:namestore:record:lookup)
+ (index 437)
+ (documentation "Client to service: lookup label"))
+(value
+ (symbol msg:namestore:record:lookup:response)
+ (index 438)
+ (documentation "Service to client: lookup label response"))
+(value
+ (symbol msg:namestore:zone:to-name)
+ (index 439)
+ (documentation "Client to service: \"reverse\" lookup for zone name
+based on zone key"))
+(value
+ (symbol msg:namestore:zone:to-name:response)
+ (index 440)
+ (documentation "Service to client: result of zone-to-name lookup"))
+(value
+ (symbol msg:namestore:monitor:start!)
+ (index 441)
+ (documentation "Client to service: start monitoring (yields sequences of
+ZONE_ITERATION_RESPONSES -- forever)."))
+(value
+ (symbol msg:namestore:monitor:sync)
+ (index 442)
+ (documentation "Service to client: you're now in sync."))
+(value
+ (symbol msg:namestore:record:result)
+ (index 443)
+ (documentation "Service to client: here is a (plaintext) record
+you requested"))
+(value
+ (symbol msg:namestore:monitor:next!)
+ (index 444)
+ (documentation "Client to service: I am now ready for the next (set of)
+monitor events. Monitoring equivalent of msg:namestore:zone:iteration:next."))
+(value
+ (symbol msg:namestore:zone:iteration:start!)
+ (index 445)
+ ;; FIXME does't exist
+ (documentation "Client to service: please start iteration; receives
+\"GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_NAME_RESPONSE\" messages in return."))
+msg:446
+(value
+ (symbol msg:namestore:zone:iteration:next!)
+ (index 447)
+ (documentation "Client to service: next record(s) in iteration please."))
+(value
+ (symbol msg:namestore:zone:iteration:stop!)
+ (index 448)
+ (documentation "Client to service: stop iterating."))
+(value
+ (symbol msg:namestore:record:result-end)
+ (index 449)
+ (documentation "Service to client: end of list of results"))
diff --git a/gnu/gnunet/message/enum-nse.scmfrag 
b/gnu/gnunet/message/enum-nse.scmfrag
new file mode 100644
index 0000000..3b8614c
--- /dev/null
+++ b/gnu/gnunet/message/enum-nse.scmfrag
@@ -0,0 +1,15 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * NSE (network size estimation) message types
+(value
+ (symbol msg:nse:start)
+ (index 321)
+ (documentation "client->service message indicating start"))
+(value
+ (symbol msg:nse:p2p:flood)
+ (index 322)
+ (documentation "P2P message sent from nearest peer"))
+(value
+ (symbol msg:nse:estimate)
+ (index 323)
+ ;; FIXME indicating what? Fix docstring upstream.
+ (documentation "service->client message indicating"))
diff --git a/gnu/gnunet/message/enum-peerinfo.scmfrag 
b/gnu/gnunet/message/enum-peerinfo.scmfrag
new file mode 100644
index 0000000..90c5571
--- /dev/null
+++ b/gnu/gnunet/message/enum-peerinfo.scmfrag
@@ -0,0 +1,22 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * PEERINFO message types\nTODO documentation
+(value
+ (symbol msg:peerinfo:get)
+ (index 330)
+ (documentation ""))
+(value
+ (symbol msg:peerinfo:get-all)
+ (index 331)
+ (documentation ""))
+(value
+ (symbol msg:peerinfo:info)
+ (index 332)
+ (documentation ""))
+(value
+ (symbol msg:peerinfo:info-end)
+ (index 333)
+ (documentation ""))
+(value
+ (symbol msg:peerinfo:notify)
+ (index 334)
+ (documentation ""))
diff --git a/gnu/gnunet/message/enum-psyc.scmfrag 
b/gnu/gnunet/message/enum-psyc.scmfrag
new file mode 100644
index 0000000..d3da3a4
--- /dev/null
+++ b/gnu/gnunet/message/enum-psyc.scmfrag
@@ -0,0 +1,107 @@
+;; (See enum-header.scmgen for license and copyright information
+;; * PSYC message types
+;; C: client
+;; S: service
+;; M: multicast
+(value
+ (symbol msg:psyc:result-code)
+ (index 680)
+ (documentation "S->C: result of an operation"))
+(value
+ (symbol msg:psyc:master-start!)
+ (index 681)
+ (documentation "C->S: request to start a channel as a master"))
+(value
+ (symbol msg:psyc:master-start:ack)
+ (index 682)
+ (documentation "S->C: master start acknowledgement"))
+(value
+ (symbol msg:psyc:slave-join!)
+ (index 683)
+ (documentation "C->S: request to join a channel as a slave"))
+(value
+ (symbol msg:psyc:slave-join:ack)
+ (index 684)
+ (documentation "S->C: slave join acknowledgement"))
+(value
+ (symbol msg:psyc:part:request!)
+ (index 685)
+ (documentation "C->S: request to part from a channel"))
+(value
+ (symbol msg:psyc:part:ack)
+ (index 686)
+ (documentation "S->C: acknowledgement that a slave of a master parted
+from a channel."))
+(value
+ (symbol msg:psyc:join-request)
+ (index 687)
+ (documentation "M->S->C: incoming join request from multicast"))
+(value
+ (symbol msg:psyc:join-decision)
+ (index 688)
+ (documentation "C->S->M: decision about a join request"))
+(value
+ (symbol msg:psyc:channel-membership-store!)
+ (index 689)
+ (documentation ""))
+msg:690
+(value
+ (symbol msg:psyc:message)
+ (index 691)
+ (documentation "S<--C: PSYC message which contains one or more
+message parts."))
+(value
+ (symbol msg:psyc:message:header)
+ (index 692)
+ (documentation "M<->S<->C: PSYC message which contains a header and one
+or more message parts."))
+(value
+ (symbol msg:psyc:message:method)
+ (index 693)
+ (documentation "Message part: method"))
+(value
+ (symbol msg:psyc:message:modifier)
+ (index 694)
+ (documentation "Message part: modifier"))
+(value
+ (symbol msg:psyc:message:mod-cont)
+ (index 695)
+ (documentation "Message part: modifier continuation"))
+(value
+ (symbol msg:psyc:message:data)
+ (index 696)
+ (documentation "Message part: data"))
+(value
+ (symbol msg:psyc:message:end)
+ (index 697)
+ (documentation "Message part: end of message"))
+(value
+ (symbol msg:psyc:message:cancel)
+ (index 698)
+ (documentation "Message part: message cancelled"))
+(value
+ (symbol msg:psyc:message:ack)
+ (index 699)
+ (documentation "S->C: message acknowledgement"))
+msg:700
+(value
+ (symbol msg:psyc:history:replay!)
+ (index 701)
+ (documentation "C->S: request channel history replay from PSYCstore"))
+(value
+ (symbol msg:psyc:history:result)
+ (index 702)
+ (documentation "S->C: result for a channel history request"))
+(value
+ (symbol msg:psyc:state:get)
+ (index 703)
+ (documentation "C->S: request best matching state variable from PSYCstore."))
+(value
+ (symbol msg:psyc:state:get-prefix)
+ (index 704)
+ (documentation "C->S: request state variables with a given prefix
+from PSYCstore."))
+(value
+ (symbol msg:psyc:state:result)
+ (index 705)
+ (documentation "S->C: result for a state request"))
diff --git a/gnu/gnunet/message/enum-psycstore.scmfrag 
b/gnu/gnunet/message/enum-psycstore.scmfrag
new file mode 100644
index 0000000..e2f85eb
--- /dev/null
+++ b/gnu/gnunet/message/enum-psycstore.scmfrag
@@ -0,0 +1,73 @@
+;; (See enum-header.scmgen for license and copyright information)
+;; * PSYCSTORE message types
+;; TODO documentation
+(value
+ (symbol msg:psycstore:membership:store!)
+ (index 660)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:membership:test)
+ (index 661)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:fragment:store!)
+ (index 662)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:fragment:get)
+ (index 663)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:message:get)
+ (index 664)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:message:get:fragment)
+ (index 665)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:counters:get)
+ (index 666)
+ (documentation ""))
+;; FIXME correct upstream spelling eroore
+msg:667
+(value
+ (symbol msg:psycstore:state:modify!)
+ (index 668)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:state:sync)
+ (index 669)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:state:reset!)
+ (index 670)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:state:hash-update)
+ (index 671)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:state:get)
+ (index 672)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:state:get-prefix)
+ (index 673)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:result:code)
+ (index 674)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:result:fragment)
+ (index 675)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:result:counters)
+ (index 676)
+ (documentation ""))
+(value
+ (symbol msg:psycstore:result:state)
+ (index 677)
+ (documentation ""))
diff --git a/gnu/gnunet/message/enum-regex.scmfrag 
b/gnu/gnunet/message/enum-regex.scmfrag
new file mode 100644
index 0000000..41889e7
--- /dev/null
+++ b/gnu/gnunet/message/enum-regex.scmfrag
@@ -0,0 +1,14 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * REGEX message types
+(value
+ (symbol msg:regex:announce!)
+ (index 620)
+ (documentation "Advertise regex capability."))
+(value
+ (symbol msg:regex:search!)
+ (index 621)
+ (documentation "Search for peer with matching capability."))
+(value
+ (symbol msg:regex:result)
+ (index 622)
+ (documentation "Result in response to regex search."))
diff --git a/gnu/gnunet/message/enum-resolver.scmfrag 
b/gnu/gnunet/message/enum-resolver.scmfrag
new file mode 100644
index 0000000..7220b59
--- /dev/null
+++ b/gnu/gnunet/message/enum-resolver.scmfrag
@@ -0,0 +1,10 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * RESOLVER message types
+(value
+ (symbol msg:resolver:request)
+ (index 4)
+ (documentation "Request DNS resolution."))
+(value
+ (symbol msg:resolver:response)
+ (index 5)
+ (documentation "Response to a DNS resolution request."))
diff --git a/gnu/gnunet/message/enum-revocation.scmfrag 
b/gnu/gnunet/message/enum-revocation.scmfrag
new file mode 100644
index 0000000..70c0f6a
--- /dev/null
+++ b/gnu/gnunet/message/enum-revocation.scmfrag
@@ -0,0 +1,18 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * REVOCATION message types
+(value
+ (symbol msg:revocation:query!)
+ (index 636)
+ (documentation "Client to service: was this key revoked?"))
+(value
+ (symbol msg:revocation:query:response)
+ (index 637)
+ (documentation "Service to client: answer if key was revoked!"))
+(value
+ (symbol msg:revocation:revoke!)
+ (index 638)
+ (documentation "Client to service OR peer-to-peer: revoke this key!"))
+(value
+ (symbol msg:revocation:revoke:response)
+ (index 639)
+ (documentation "Service to client: revocation confirmed"))
diff --git a/gnu/gnunet/message/enum-scalarproduct.scmfrag 
b/gnu/gnunet/message/enum-scalarproduct.scmfrag
new file mode 100644
index 0000000..261f671
--- /dev/null
+++ b/gnu/gnunet/message/enum-scalarproduct.scmfrag
@@ -0,0 +1,51 @@
+;; (See enum-header.scmgen for license and copyright information
+;; * SCALARPRODUCT message types
+(value
+ (symbol msg:scalarproduct:client-to-alice)
+ (index 640)
+ (documentation "Client -> Alice"))
+(value
+ (symbol msg:scalarproduct:client-to-bob)
+ (index 641)
+ (documentation "Client -> Bob"))
+(value
+ (symbol msg:scalarproduct:client-multipart:alice)
+ (index 642)
+ (documentation "Client -> Alice multipart"))
+(value
+ (symbol msg:scalarproduct:client-multipart:bob)
+ (index 643)
+ (documentation "Client -> Bob multipart"))
+(value
+ (symbol msg:scalarproduct:session-intialisation)
+ (index 644)
+ (documentation "Alice -> Bob session initialization"))
+(value
+ (symbol msg:scalarproduct:alice-cryptodata)
+ (index 645)
+ (documentation "Alice -> Bob SP crypto-data (after intersection)"))
+msg:646
+(value
+ (symbol msg:scalarproduct:bob-cryptodata)
+ (index 647)
+ (documentation "Bob -> Alice SP crypto-data"))
+(value
+ (symbol msg:scalarproduct:bob-cryptodata:multipart)
+ (index 648)
+ (documentation "Bob -> Alice SP crypto-data multipart"))
+(value
+ (symbol msg:scalarproduct:result)
+ (index 649)
+ (documentation "Alice/Bob -> Client result"))
+(value
+ (symbol msg:scalarproduct:ecc:session-initialisation)
+ (index 650)
+ (documentation "Alice -> Bob ECC session initialisation"))
+(value
+ (symbol msg:scalarproduct:ecc:alice-cryptodata)
+ (index 651)
+ (documentation "Alice -> Bob ECC cryptodata"))
+(value
+ (symbol msg:scalarproduct:ecc:bob-cryptodata)
+ (index 652)
+ (documentation "Bob -> Alice cryptodata"))
diff --git a/gnu/gnunet/message/enum-set.scmfrag 
b/gnu/gnunet/message/enum-set.scmfrag
new file mode 100644
index 0000000..f302f20
--- /dev/null
+++ b/gnu/gnunet/message/enum-set.scmfrag
@@ -0,0 +1,140 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * SET message types
+;; TODO documentation
+(value
+ (symbol msg:set:union:p2p:request-full!)
+ (index 565)
+ (documentation ""))
+(value
+ (symbol msg:set:union:p2p:demand!)
+ (index 566)
+ (documentation ""))
+(value
+ (symbol msg:set:union:p2p:inquiry)
+ (index 567)
+ (documentation ""))
+(value
+ (symbol msg:set:union:p2p:offer)
+ (index 568)
+ (documentation ""))
+(value
+ (symbol msg:set:reject!)
+ (index 569)
+ (documentation ""))
+(value
+ (symbol msg:set:cancel!)
+ (index 570)
+ (documentation ""))
+(value
+ (symbol msg:set:iter:ack)
+ (index 571)
+ (documentation ""))
+(value
+ (symbol msg:set:result)
+ (index 572)
+ (documentation ""))
+(value
+ (symbol msg:set:add!)
+ (index 573)
+ (documentation ""))
+(value
+ (symbol msg:set:remove!)
+ (index 574)
+ (documentation ""))
+(value
+ (symbol msg:set:listen!)
+ (index 575)
+ (documentation ""))
+(value
+ (symbol msg:set:accept!)
+ (index 576)
+ (documentation ""))
+(value
+ (symbol msg:set:evaluate)
+ (index 577)
+ (documentation ""))
+(value
+ (symbol msg:set:conclude!)
+ (index 578)
+ (documentation ""))
+(value
+ (symbol msg:set:request)
+ (index 579)
+ (documentation ""))
+(value
+ (symbol msg:set:create!)
+ (index 580)
+ (documentation ""))
+(value
+ (symbol msg:set:p2p:operation-request)
+ (index 581)
+ (documentation ""))
+(value
+ (symbol msg:set:union:p2p:se)
+ (index 582)
+ (documentation ""))
+(value
+ (symbol msg:set:union:p2p:ibf)
+ (index 583)
+ (documentation ""))
+(value
+ (symbol msg:set:p2p:elements)
+ (index 584)
+ (documentation ""))
+msg:585
+(value
+ (symbol msg:set:union:p2p:done)
+ (index 586)
+ (documentation ""))
+(value
+ (symbol msg:set:iter:request)
+ (index 587)
+ (documentation ""))
+(value
+ (symbol msg:set:iter:element)
+ (index 588)
+ (documentation ""))
+(value
+ (symbol msg:set:iter:done)
+ (index 589)
+ (documentation ""))
+(value
+ (symbol msg:set:union:p2p:sec)
+ (index 590)
+ (documentation ""))
+(value
+ (symbol msg:set:intersection:p2p:element-info)
+ (index 591)
+ (documentation ""))
+(value
+ (symbol msg:set:intersection:p2p:bf)
+ (index 592)
+ (documentation ""))
+(value
+ (symbol msg:set:intersection:p2p:done)
+ (index 593)
+ (documentation ""))
+(value
+ (symbol msg:set:copy-lazy:prepare!)
+ (index 594)
+ (documentation ""))
+(value
+ (symbol msg:set:copy-lazy:response)
+ (index 595)
+ (documentation ""))
+(value
+ (symbol msg:set:copy-lazy:connect!)
+ (index 596)
+ (documentation ""))
+(value
+ (symbol msg:set:union:p2p:full-done)
+ (index 597)
+ (documentation ""))
+(value
+ (symbol msg:set:union:p2p:full-element)
+ (index 598)
+ (documentation ""))
+(value
+ (symbol msg:set:union:p2p:over)
+ (index 599)
+ (documentation ""))
diff --git a/gnu/gnunet/message/enum-statistics.scmfrag 
b/gnu/gnunet/message/enum-statistics.scmfrag
new file mode 100644
index 0000000..b703610
--- /dev/null
+++ b/gnu/gnunet/message/enum-statistics.scmfrag
@@ -0,0 +1,41 @@
+;; -*- scheme -*- (See protocols.scmgen for license and copyright information)
+;; * STATISTICS message types
+(value
+ (symbol msg:statistics:set!)
+ (index 168)
+ (documentation "Set a statistical value."))
+(value
+ (symbol msg:statistics:get)
+ (index 169)
+ (documentation "Get a/some statistical value(s)."))
+(value
+ (symbol msg:statistics:value)
+ (index 170)
+ ;; FIXME I presume there can be multiple responses?
+ (documentation "Response to a msg:statistics:get message (with value)"))
+(value
+ (symbol msg:statistics:end)
+ (index 171)
+ (documentation "Response to a msg:statistics:get message
+(end of value stream)."))
+(value
+ (symbol msg:statistics:watch)
+ (index 172)
+ (documentation "Watch changes to a statistical value.
+Message format is the same as for GET,
+except that the subsystem and entry name must be given."))
+(value
+ (symbol msg:statistics:watch:value)
+ (index 173)
+ (documentation "Changes to a watched value."))
+(value
+ (symbol msg:statistics:disconnect)
+ (index 174)
+ (documentation "Client is done sending service requests
+and will now disconnect."))
+(value
+ (symbol msg:statistics:disconnect:confirm)
+ (index 175)
+ (documentation "Service confirms disconnect and that it is done processing
+all requests from the client."))
+
diff --git a/gnu/gnunet/message/enum-testbed.scmfrag 
b/gnu/gnunet/message/enum-testbed.scmfrag
new file mode 100644
index 0000000..6f1080f
--- /dev/null
+++ b/gnu/gnunet/message/enum-testbed.scmfrag
@@ -0,0 +1,130 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * TESTBED message types
+(value
+ (symbol msg:testbed:init!)
+ (index 460)
+ (documentation "Initial message from a client to a testing control service."))
+(value
+ (symbol msg:testbed:add-host!)
+ (index 461)
+ (documentation "Message to add host."))
+(value
+ (symbol msg:testbed:add-host:success)
+ (index 462)
+ (documentation "Message to signal that a msg:testbed:add:host succeeded."))
+(value
+ (symbol msg:testbed:link-controllers!)
+ (index 463)
+ (documentation "Message to link delegated controller to slave controlelr"))
+(value
+ (symbol msg:testbed:peer:create!)
+ (index 464)
+ (documentation "Message to create a peer at a host."))
+(value
+ (symbol msg:testbed:peer:reconfigure!)
+ (index 465)
+ (documentation "Message to reconfigure a peer."))
+(value
+ (symbol msg:testbed:peer:start!)
+ (index 466)
+ (documentation "Message to start a peer at a host."))
+(value
+ (symbol msg:testbed:peer:stop!)
+ (index 467)
+ (documentation "Message to stop a peer at a host."))
+(value
+ (symbol msg:testbed:peer:destroy!)
+ (index 468)
+ (documentation "Message to destroy a peer."))
+(value
+ (symbol msg:testbed:configure-underlay-link!)
+ (index 469)
+ (documentation "Configure underlay link message."))
+(value
+ (symbol msg:testbed:overlay-connect)
+ (index 470)
+ (documentation "Message to connect peers in a overlay"))
+(value
+ (symbol msg:testbed:peer-event)
+ (index 471)
+ (documentation "Message for peer events"))
+(value
+ (symbol msg:testbed:peer-event:connect)
+ (index 472)
+ (documentation "Message for peer connect events"))
+(value
+ (symbol msg:testbed:operation-fail-event)
+ (index 473)
+ (documentation "Message for operaton events"))
+(value
+ (symbol msg:testbed:peer:create:success)
+ (index 474)
+ (documentation "Message to signal successful peer creation"))
+(value
+ (symbol msg:testbed:generic-operation:success)
+ (index 475)
+ (documentation "Message to signal a generic operation has been successful"))
+(value
+ (symbol msg:testbed:peer:information)
+ (index 476)
+ (documentation "Message to get a peer's information."))
+(value
+ (symbol msg:testbed:peer:information:response)
+ (index 477)
+ (documentation "Message containing a peer's informtion."))
+(value
+ (symbol msg:testbed:remote-overlay-connect!)
+ (index 478)
+ (documentation "Message to request a controller to make one of its
+peers connect to another peer using the contained HELLO."))
+(value
+ (symbol msg:testbed:slave-configuration)
+ (index 479)
+ (documentation "Message to request configuration of a slave controller."))
+(value
+ (symbol msg:testbed:slave-configuration:response)
+ (index 480)
+ (documentation "Message which contains the configuration
+of a slave ontroller."))
+(value
+ (symbol msg:testbed:link-controllers:result)
+ (index 481)
+ (documentation "Message to signal the result of
+a msg:testbed:link-controllers! request."))
+(value
+ (symbol msg:testbed:shutdown-peers!)
+ (index 482)
+ (documentation "A controller receiving this message floods it to its
+directly-connected sub-controllers and then stops and destroys all peers."))
+(value
+ (symbol msg:testbed:manage-peer-service!)
+ (index 483)
+ (documentation "Message to stat/stop a service of a peer."))
+(value
+ (symbol msg:testbed:barrier:init!)
+ (index 484)
+ (documentation "Message to initialise a barrier.  Messages of these type
+are flooded to all sub-controllers."))
+(value
+ (symbol msg:testbed:barrier:cancel!)
+ (index 485)
+ (documentation "Message for signalling status of a barrier."))
+(value
+ (symbol msg:testbed:barrier:status)
+ (index 486)
+ (documentation "Message for signalling status of a barrier."))
+(value
+ (symbol msg:testbed:barrier:wait!)
+ (index 487)
+ (documentation "Message sent by a peer when it has reached a barrier
+and is waiting for it to be crossed."))
+msg:488 msg:489 msg:490 msg:491 msg:492
+msg:493 msg:494
+(value
+ (symbol msg:testbed:helper:init!)
+ (index 495)
+ (documentation "The initialisation message towards gnunet-testbed-helper"))
+(value
+ (symbol msg:testbed:helper:reply)
+ (index 496)
+ (documentation "The reply message from gnunet-testbed-helper"))
diff --git a/gnu/gnunet/message/enum-transport-dv.scmfrag 
b/gnu/gnunet/message/enum-transport-dv.scmfrag
new file mode 100644
index 0000000..33d18b3
--- /dev/null
+++ b/gnu/gnunet/message/enum-transport-dv.scmfrag
@@ -0,0 +1,43 @@
+;; (See protocols.scmgen for license and copyright information)
+;; Transport-DV message types
+;; FIXME add descriptions once I undertand them
+(value
+ (symbol msg:dv:recv!)
+ (index 44)
+ (documentation ""))
+(value
+ (symbol msg:dv:send!)
+ (index 45)
+ (documentation ""))
+(value
+ (symbol msg:dv:send-ack!)
+ (index 46)
+ (documentation ""))
+(value
+ (symbol msg:dv:route)
+ (index 47)
+ (documentation ""))
+(value
+ (symbol msg:dv:start)
+ (index 48)
+ (documentation ""))
+(value
+ (symbol msg:dv:connect)
+ (index 49)
+ (documentation ""))
+(value
+ (symbol msg:dv:disconnect)
+ (index 50)
+ (documentation ""))
+(value
+ (symbol msg:dv:send-nack)
+ (index 51)
+ (documentation ""))
+(value
+ (symbol msg:dv:distance-changed)
+ (index 52)
+ (documentation ""))
+(value
+ (symbol msg:dv:box)
+ (index 53)
+ (documentation ""))
diff --git a/gnu/gnunet/message/enum-transport.scmfrag 
b/gnu/gnunet/message/enum-transport.scmfrag
new file mode 100644
index 0000000..b7a0b69
--- /dev/null
+++ b/gnu/gnunet/message/enum-transport.scmfrag
@@ -0,0 +1,122 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * TRANSPORT message types
+;; TODO documentation
+(value
+ (symbol msg:transport:start!)
+ (index 360)
+ (documentation ""))
+(value
+ (symbol msg:transport:connect!)
+ (index 361)
+ (documentation ""))
+(value
+ (symbol msg:transport:disconnect!)
+ (index 362)
+ (documentation ""))
+(value
+ (symbol msg:transport:send!)
+ (index 363)
+ (documentation ""))
+(value
+ (symbol msg:transport:send:ok)
+ (index 364)
+ (documentation ""))
+(value
+ (symbol msg:transport:recv!)
+ (index 365)
+ (documentation ""))
+(value
+ (symbol msg:transport:recv:ok)
+ (index 366)
+ (documentation "Note: dead in TNG, replaced by msg:transport:recv:ok
+msg:transport:set-quota!"))
+(value
+ (symbol msg:transport:address-to-string)
+ (index 367)
+ (documentation ""))
+(value
+ (symbol msg:transport:address-to-string:reply)
+ (index 368)
+ (documentation ""))
+(value
+ (symbol msg:transport:blacklist:init)
+ (index 369)
+ (documentation ""))
+(value
+ (symbol msg:transport:blacklist:query)
+ (index 370)
+ (documentation ""))
+(value
+ (symbol msg:transport:blacklist:reply)
+ (index 371)
+ (documentation ""))
+(value
+ (symbol msg:transport:ping)
+ (index 372)
+ (documentation ""))
+(value
+ (symbol msg:transport:pong)
+ (index 373)
+ (documentation ""))
+msg:374
+(value
+ (symbol msg:transport:session:syn)
+ (index 375)
+ (documentation ""))
+(value
+ (symbol msg:transport:session:syn:ack)
+ (index 376)
+ (documentation ""))
+(value
+ (symbol msg:transport:session:ack)
+ (index 377)
+ (documentation ""))
+(value
+ (symbol msg:transport:session:disconnect)
+ (index 378)
+ (documentation ""))
+(value
+ (symbol msg:transport:session:quota)
+ (index 379)
+ (documentation ""))
+(value
+ (symbol msg:transport:monitor:peer:request)
+ (index 380)
+ (documentation ""))
+(value
+ (symbol msg:transport:session:keepalive)
+ (index 381)
+ (documentation ""))
+(value
+ (symbol msg:transport:session:keepalive:response)
+ (index 382)
+ (documentation ""))
+(value
+ (symbol msg:transport:monitor:peer:response)
+ (index 383)
+ (documentation ""))
+(value
+ (symbol msg:transport:broadcast:beacon)
+ (index 384)
+ (documentation ""))
+(value
+ (symbol msg:transport:traffic:metric)
+ (index 385)
+ (documentation ""))
+msg:386 msg:387
+(value
+ (symbol msg:transport:monitor:plugin:start)
+ (index 388)
+ (documentation ""))
+(value
+ (symbol msg:transport:monitor:plugin:event)
+ (index 389)
+ (documentation ""))
+(value
+ (symbol msg:transport:monitor:plugin:sync)
+ (index 390)
+ (documentation ""))
+(value
+ (symbol msg:transport:monitor:peer:response:end)
+ (index 391)
+ (documentation ""))
diff --git a/gnu/gnunet/message/enum-util.scmfrag 
b/gnu/gnunet/message/enum-util.scmfrag
new file mode 100644
index 0000000..94e48fa
--- /dev/null
+++ b/gnu/gnunet/message/enum-util.scmfrag
@@ -0,0 +1,9 @@
+;; (See protocols.scmgen for license and copyright information)
+(value
+ (symbol msg:util:dummy)
+ (index 6)
+ (documentation "Dummy messages for testing / benchmarking."))
+(value
+ (symbol msg:util:dummy2)
+ (index 7)
+ (documentation "Another dummy messages for testing / benchmarking."))
diff --git a/gnu/gnunet/message/enum-vpn-dns.scmfrag 
b/gnu/gnunet/message/enum-vpn-dns.scmfrag
new file mode 100644
index 0000000..eea37f8
--- /dev/null
+++ b/gnu/gnunet/message/enum-vpn-dns.scmfrag
@@ -0,0 +1,19 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * VPN-DNS message types
+;; TODO document
+(value
+ (symbol msg:dns:client:init)
+ (index 211)
+ (documentation ""))
+(value
+ (symbol msg:dns:client:request)
+ (index 212)
+ (documentation ""))
+(value
+ (symbol msg:dns:client:response)
+ (index 213)
+ (documentation ""))
+(value
+ (symbol msg:dns:helper)
+ (index 214)
+ (documentation ""))
diff --git a/gnu/gnunet/message/enum-vpn.scmfrag 
b/gnu/gnunet/message/enum-vpn.scmfrag
new file mode 100644
index 0000000..95bc0ec
--- /dev/null
+++ b/gnu/gnunet/message/enum-vpn.scmfrag
@@ -0,0 +1,70 @@
+;; (See enum-header.scmgen for license and copyright information)
+
+;; * VPN message types
+;; TODO document
+
+(value
+ (symbol msg:vpn:helper)
+ (index 185)
+ (documentation ""))
+msg:186 msg:187 msg:188 msg:189
+(value
+ (symbol msg:vpn:icmp:to-service)
+ (index 190)
+ (documentation ""))
+(value
+ (symbol msg:vpn:icmp:to-internet)
+ (index 191)
+ (documentation ""))
+(value
+ (symbol msg:vpn:icmp:to-vpn)
+ (index 192)
+ (documentation ""))
+(value
+ (symbol msg:vpn:dns:to-internet)
+ (index 193)
+ (documentation ""))
+(value
+ (symbol msg:vpn:dns:from-internet)
+ (index 194)
+ (documentation ""))
+(value
+ (symbol msg:vpn:tcp:to-service-start)
+ (index 195)
+ (documentation ""))
+(value
+ (symbol msg:vpn:tcp:to-internet-start)
+ (index 196)
+ (documentation ""))
+(value
+ (symbol msg:vpn:tcp:data:to-exit)
+ (index 197)
+ (documentation ""))
+(value
+ (symbol msg:vpn:tcp:data:to-vpn)
+ (index 198)
+ (documentation ""))
+(value
+ (symbol msg:vpn:udp:to-service)
+ (index 199)
+ (documentation ""))
+(value
+ (symbol msg:vpn:udp:to-internet)
+ (index 200)
+ (documentation ""))
+(value
+ (symbol msg:vpn:udp:reply)
+ (index 201)
+ (documentation ""))
+(value
+ (symbol msg:vpn:client:redirect:to-ip)
+ (index 202)
+ (documentation ""))
+(value
+ (symbol msg:vpn:client:redirect:to-service)
+ (index 203)
+ (documentation ""))
+(value
+ (symbol msg:vpn:client:use-ip)
+ (index 204)
+ (documentation ""))
diff --git a/gnu/gnunet/message/enum-wlan.scmfrag 
b/gnu/gnunet/message/enum-wlan.scmfrag
new file mode 100644
index 0000000..cc0147a
--- /dev/null
+++ b/gnu/gnunet/message/enum-wlan.scmfrag
@@ -0,0 +1,23 @@
+;; (See protocols.scmgen for license and copyright information)
+;; * Transport-WLAN message types
+(value
+ (symbol msg:wlan:data-to-helper)
+ (index 39)
+ (documentation "Type of data messages from the plugin to the 
gnunet-wlan-helper"))
+(value
+ (symbol msg:wlan:data-from-helper)
+ (index 40)
+ (documentation "Type of data messages from the gnunet-wlan-helper to the 
plugin"))
+(value
+ (symbol msg:wlan:helper-control)
+ (index 41)
+ (documentation "Control message between the gnunet-wlan-helper and the daemon
+(with the MAC)."))
+(value
+ (symbol msg:wlan:advertisement)
+ (index 42)
+ (documentation "Type of messages for advertisement over wlan"))
+(value
+ (symbol msg:wlan:data)
+ (index 43)
+ (documentation "Type of messages for data over the wlan"))
diff --git a/gnu/gnunet/message/protocols.scm b/gnu/gnunet/message/protocols.scm
new file mode 100644
index 0000000..efbfb2d
--- /dev/null
+++ b/gnu/gnunet/message/protocols.scm
@@ -0,0 +1,33 @@
+;; -*- scheme -*- Constants for network protocols
+;; This file is part of scheme-GNUnet.
+;; Copyright (C) 2001--2020 GNUnet e.V.
+;; Copyright (C) 2021 Maxime Devos
+;;
+;; scheme-GNUnet is free software: you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by the
+;; Free Software Foundation, either version 3 of the License, or (at your
+;; option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful, but WITHOUT
+;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+;; for more details.
+;;
+;; You should have received a copy of the GNU General Public License along with
+;; this program. If not, see <https://www.gnu.org/licenses/>.
+
+(let-syntax ((the-library-form
+             (lambda (s)
+               (let ()
+                 (define (include/sexp name)
+                   (call-with-input-file
+                       (string-append (dirname (current-filename)) "/" name)
+                     (lambda (port)
+                       (let loop ()
+                         (let ((obj (read port)))
+                           (if (eof-object? obj)
+                               '()
+                               (cons obj (loop))))))))
+                 (include "protocols.scmgen")
+                 (datum->syntax s result)))))
+  the-library-form)
diff --git a/gnu/gnunet/message/protocols.scmgen 
b/gnu/gnunet/message/protocols.scmgen
new file mode 100644
index 0000000..192f8bc
--- /dev/null
+++ b/gnu/gnunet/message/protocols.scmgen
@@ -0,0 +1,185 @@
+;; -*- scheme -*- Constants for network protocols
+;; This file is part of scheme-GNUnet.
+;; Copyright (C) 2001--2020 GNUnet e.V.
+;; Copyright (C) 2021 Maxime Devos
+;;
+;; scheme-GNUnet is free software: you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by the
+;; Free Software Foundation, either version 3 of the License, or (at your
+;; option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful, but WITHOUT
+;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+;; for more details.
+;;
+;; You should have received a copy of the GNU General Public License along with
+;; this program. If not, see <https://www.gnu.org/licenses/>.
+
+(use-modules (srfi srfi-1))
+
+(define (msg:filler begin end)
+  (map (lambda (j)
+        `(value (symbol
+                 ,(string->symbol
+                   (string-append "msg:"(number->string (+ begin j)))))
+                (index ,(+ begin j))
+                (documentation "[Unassigned / undefined]")))
+       (iota (- (+ 1 end) begin))))
+
+;; TODO: proper docstrings.
+(define entries
+  `(;; Test if service is online.
+    ;; @deprecated!
+    msg:test ; 0
+    ,@(include/sexp "enum-agpl.scmfrag")
+    ,@(msg:filler 3 3)
+    ,@(include/sexp "enum-resolver.scmfrag")
+    ,@(include/sexp "enum-util.scmfrag")
+    ,@(include/sexp "enum-arm.scmfrag")
+    ,@(include/sexp "enum-hello.scmfrag")
+    ,@(include/sexp "enum-fragment.scmfrag")
+    ,@(msg:filler 20 38)
+    ,@(include/sexp "enum-wlan.scmfrag")
+    ,@(include/sexp "enum-transport-dv.scmfrag")
+    ,@(msg:filler 54 54)
+    ;; * Experimental message type
+    msg:transport:xu ; 55
+    ;; * Transport-UDP message types
+    ;; Normal UDP message type.
+    msg:transport:udp ; 56
+    ;; UDP ACK.
+    msg:transport:udp:ack ; 57
+    ,@(msg:filler 58 59)
+    ;; * Transport-TCP message types.
+    ;; TCP NAT probe message, send from NAT'd peer to
+    ;; other peer to establish bi-directional communication
+    msg:transport:tcp:nat-probe ; 60
+    msg:transport:tcp:welcome   ; 61
+    ;; Message to force transport to update bandwith assignment
+    ;; (LEGACY) FIXME I assume this means this isn't used anymore?
+    msg:transport:ats ; 62
+    ;; * NAT message types
+    ;; Message to ask NAT server to perform traversal test
+    msg:nat:test ; 63
+    ,@(include/sexp "enum-core.scmfrag")
+    ,@(msg:filler 90 91)
+    ,@(include/sexp "enum-datastore.scmfrag")
+    ,@(msg:filler 105 125)
+    ,@(include/sexp "enum-fs.scmfrag")
+    ,@(include/sexp "enum-dht.scmfrag")
+    ,@(msg:filler 157 159)
+    ;; * HOSTLIST message types
+    ;; TODO comments
+    msg:hostlist:advertisement ; 160
+    ,@(msg:filler 161 167)
+    ,@(include/sexp "enum-statistics.scmfrag")
+    ,@(msg:filler 176 184)
+    ,@(include/sexp "enum-vpn.scmfrag")
+    ,@(msg:filler 205 210)
+    ,@(include/sexp "enum-vpn-dns.scmfrag")
+    ,@(msg:filler 215 299)
+    ,@(include/sexp "enum-chat.scmfrag")
+    ,@(msg:filler 312 320)
+    ,@(include/sexp "enum-nse.scmfrag")
+    ,@(msg:filler 324 329)
+    ,@(include/sexp "enum-peerinfo.scmfrag")
+    ,@(msg:filler 335 339)
+    ,@(include/sexp "enum-ats.scmfrag")
+    ,@(msg:filler 357 359)
+    ,@(include/sexp "enum-transport.scmfrag")
+    ,@(msg:filler 392 419)
+    ,@(include/sexp "enum-fs-publish.scmfrag")
+    ,@(msg:filler 427 430)
+    ,@(include/sexp "enum-namecache.scmfrag")
+    ,@(include/sexp "enum-namestore.scmfrag")
+    ,@(include/sexp "enum-lockmanager.scmfrag")
+    ,@(msg:filler 453 459)
+    ,@(include/sexp "enum-testbed.scmfrag")
+    ,@(msg:filler 497 499)
+    ,@(include/sexp "enum-gns.scmfrag")
+    ,@(msg:filler 505 519)
+    ,@(include/sexp "enum-consensus.scmfrag")
+    ,@(msg:filler 548 564)
+    ,@(include/sexp "enum-set.scmfrag")
+    ;; * TESTBED LOGGER message types
+    ;; Message for TESTBED LOGGER
+    msg:testbed-logger:msg ; 600
+    ;; Message for TESTBED LOGGER acknowledgement
+    msg:testbed-logger:ack ; 601
+    ,@(msg:filler 602 619)
+    ,@(include/sexp "enum-regex.scmfrag")
+    ,@(msg:filler 623 623)
+    ,@(include/sexp "enum-identity.scmfrag")
+    ,@(msg:filler 634 635)
+    ,@(include/sexp "enum-revocation.scmfrag")
+    ,@(include/sexp "enum-scalarproduct.scmfrag")
+    ,@(msg:filler 653 659)
+    ,@(include/sexp "enum-psycstore.scmfrag")
+    ,@(msg:filler 678 679)
+    ,@(include/sexp "enum-psyc.scmfrag")
+    ,@(msg:filler 706 729)
+    ,@(include/sexp "enum-conversation.scmfrag")
+    ,@(msg:filler 746 749)
+    ,@(include/sexp "enum-multicast.scmfrag")
+    ;; TODO:
+    ;; SECRETSHARING,
+    ;; PEERSTORE,
+    ;; SOCIAL,
+    ;; X-VINE DHT,
+    ;; Whanau DHT,
+    ;; RPS,
+    ;; IDENTITY PROVIDER
+    ;; ABD,
+    ;; CADET,
+    ;; AUCTION,
+    ;; RPS DEBUG,
+    ;; NEW (TNG) Transport
+    ))
+
+
+(define (fix-entry entry index)
+  (cond ((symbol? entry)
+        `(value (symbol ,entry)
+                (index ,index)))
+       (else entry)))
+
+(define entries/fixed
+  (map fix-entry entries (iota (length entries))))
+
+;; Makes sure indices are correct
+(define (verify-entry e index)
+  (cond ((pair? e)
+        (unless (= (car (assq-ref (cdr e) 'index)) index)
+          (error "incorrect index ~a for ~a" index e)))
+       (else 'presumably-ok)))
+
+(for-each verify-entry
+         entries/fixed
+         (iota (length entries/fixed)))
+
+(define result
+  `(define-library (gnu gnunet message protocols)
+     (export message-type message-type?)
+     (import (rnrs base)
+            (rnrs enums)
+            (gnu extractor enum))
+     (begin
+       ;; TODO when to include an ! and when not.
+       ;; TODO cross-referenes
+       ;;
+       ;; Maybe some future version
+       ;; of guile could have special support
+       ;; for enumerations, such that enumeration
+       ;; symbol names have their own special section
+       ;; (benefit: can be swapped or stripped out when unused)
+       ;; and numeric enumeration values are inlined
+       ;; in depending modules?
+
+       ;; Enumeration of known message types.
+       ;; Experimental or non-standard services
+       ;; may need to use raw integers instead.
+       (define-enumeration (message-type message-type?)
+        (#:documentation "Types of messages used in GNUnet")
+        (#:max 65535)
+        (#:known ,@entries/fixed)))))

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]