gnunet-android

GNUnet for Android
Log | Files | Refs | README

gnunet_protocols.h (94920B)


      1 /*
      2      This file is part of GNUnet.
      3      Copyright (C) 2001--2024 GNUnet e.V.
      4 
      5      GNUnet is free software: you can redistribute it and/or modify it
      6      under the terms of the GNU Affero General Public License as published
      7      by the Free Software Foundation, either version 3 of the License,
      8      or (at your option) any later version.
      9 
     10      GNUnet is distributed in the hope that it will be useful, but
     11      WITHOUT ANY WARRANTY; without even the implied warranty of
     12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13      Affero General Public License for more details.
     14 
     15      You should have received a copy of the GNU Affero General Public License
     16      along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17 
     18      SPDX-License-Identifier: AGPL3.0-or-later
     19  */
     20 
     21 /**
     22  * @addtogroup libgnunetutil
     23  * Multi-function utilities library for GNUnet programs
     24  * @{
     25  *
     26  * @author Christian Grothoff
     27  * @author Tobias Frisch
     28  *
     29  * @file
     30  * Constants for network protocols
     31  *
     32  * @defgroup protocols  Network protocol definitions
     33  * Types of messages used in GNUnet.
     34  *
     35  * @see [Documentation](https://gnunet.org/ipc)
     36  *
     37  * @{
     38  */
     39 
     40 /*******************************************************************************
     41  * TODO: we need a way to register message types centrally (via some webpage).
     42  * For now: unofficial extensions should start at 48k, internal extensions
     43  * defined here should leave some room (4-10 additional messages to the previous
     44  * extension).
     45  ******************************************************************************/
     46 
     47 #ifndef GNUNET_PROTOCOLS_H
     48 #define GNUNET_PROTOCOLS_H
     49 
     50 #ifdef __cplusplus
     51 extern "C" {
     52 #if 0 /* keep Emacsens' auto-indent happy */
     53 }
     54 #endif
     55 #endif
     56 
     57 /*******************************************************************************
     58 * Deprecated
     59 * *****************************************************************************/
     60 
     61 /**
     62  * Test if service is online.
     63  *
     64  * @deprecated!
     65  */
     66 #define GNUNET_MESSAGE_TYPE_TEST 0
     67 
     68 /*******************************************************************************
     69 * AGPL source code download
     70 * *****************************************************************************/
     71 
     72 /**
     73  * Message to request source code link.
     74  */
     75 #define GNUNET_MESSAGE_TYPE_REQUEST_AGPL 1
     76 
     77 /**
     78  * Source code link.
     79  */
     80 #define GNUNET_MESSAGE_TYPE_RESPONSE_AGPL 2
     81 
     82 /*******************************************************************************
     83  * RESOLVER message types
     84  ******************************************************************************/
     85 
     86 /**
     87  * Request DNS resolution.
     88  */
     89 #define GNUNET_MESSAGE_TYPE_RESOLVER_REQUEST 4
     90 
     91 /**
     92  * Response to a DNS resolution request.
     93  */
     94 #define GNUNET_MESSAGE_TYPE_RESOLVER_RESPONSE 5
     95 
     96 /*******************************************************************************
     97  * UTIL message types
     98  ******************************************************************************/
     99 
    100 /**
    101  * Dummy messages for testing / benchmarking.
    102  */
    103 #define GNUNET_MESSAGE_TYPE_DUMMY 6
    104 
    105 /**
    106  * Another dummy messages for testing / benchmarking.
    107  */
    108 #define GNUNET_MESSAGE_TYPE_DUMMY2 7
    109 
    110 
    111 /*******************************************************************************
    112  * ARM message types
    113  ******************************************************************************/
    114 
    115 /**
    116  * Request to ARM to start a service.
    117  */
    118 #define GNUNET_MESSAGE_TYPE_ARM_START 8
    119 
    120 /**
    121  * Request to ARM to stop a service.
    122  */
    123 #define GNUNET_MESSAGE_TYPE_ARM_STOP 9
    124 
    125 /**
    126  * Response from ARM.
    127  */
    128 #define GNUNET_MESSAGE_TYPE_ARM_RESULT 10
    129 
    130 /**
    131  * Status update from ARM.
    132  */
    133 #define GNUNET_MESSAGE_TYPE_ARM_STATUS 11
    134 
    135 /**
    136  * Request to ARM to list all currently running services
    137  */
    138 #define GNUNET_MESSAGE_TYPE_ARM_LIST 12
    139 
    140 /**
    141  * Response from ARM for listing currently running services
    142  */
    143 #define GNUNET_MESSAGE_TYPE_ARM_LIST_RESULT 13
    144 
    145 /**
    146  * Request to ARM to notify client of service status changes
    147  */
    148 #define GNUNET_MESSAGE_TYPE_ARM_MONITOR 14
    149 
    150 /**
    151  * Test if ARM service is online.
    152  */
    153 #define GNUNET_MESSAGE_TYPE_ARM_TEST 15
    154 
    155 /*******************************************************************************
    156  * HELLO message types
    157  ******************************************************************************/
    158 
    159 /**
    160  * Latest HELLO messages used for communicating peer addresses.
    161  * Managed by libgnunethello.
    162  */
    163 #define GNUNET_MESSAGE_TYPE_HELLO_URI 16
    164 
    165 /**
    166  * HELLO message with friend only flag used for communicating peer addresses.
    167  * Managed by libgnunethello.
    168  */
    169 
    170 #define GNUNET_MESSAGE_TYPE_HELLO 17
    171 
    172 /*******************************************************************************
    173  * FRAGMENTATION message types
    174  ******************************************************************************/
    175 
    176 /**
    177  * FRAGMENT of a larger message.
    178  * Managed by libgnunetfragment.
    179  */
    180 #define GNUNET_MESSAGE_TYPE_FRAGMENT 18
    181 
    182 /**
    183  * Acknowledgement of a FRAGMENT of a larger message.
    184  * Managed by libgnunetfragment.
    185  */
    186 #define GNUNET_MESSAGE_TYPE_FRAGMENT_ACK 19
    187 
    188 /*******************************************************************************
    189  * Transport-WLAN message types
    190  ******************************************************************************/
    191 
    192 /**
    193  * Type of data messages from the plugin to the gnunet-wlan-helper
    194  */
    195 #define GNUNET_MESSAGE_TYPE_WLAN_DATA_TO_HELPER 39
    196 
    197 /**
    198  * Type of data messages from the gnunet-wlan-helper to the plugin
    199  */
    200 #define GNUNET_MESSAGE_TYPE_WLAN_DATA_FROM_HELPER 40
    201 
    202 /**
    203  * Control message between the gnunet-wlan-helper and the daemon (with the MAC).
    204  */
    205 #define GNUNET_MESSAGE_TYPE_WLAN_HELPER_CONTROL 41
    206 
    207 /**
    208  * Type of messages for advertisement over wlan
    209  */
    210 #define GNUNET_MESSAGE_TYPE_WLAN_ADVERTISEMENT 42
    211 
    212 /**
    213  * Type of messages for data over the wlan
    214  */
    215 #define GNUNET_MESSAGE_TYPE_WLAN_DATA 43
    216 
    217 
    218 /*******************************************************************************
    219  * Transport-DV message types
    220  ******************************************************************************/
    221 
    222 /**
    223  * DV service to DV Plugin message, when a message is
    224  * unwrapped by the DV service and handed to the plugin
    225  * for processing
    226  */
    227 #define GNUNET_MESSAGE_TYPE_DV_RECV 44
    228 
    229 /**
    230  * DV Plugin to DV service message, indicating a message
    231  * should be sent out.
    232  */
    233 #define GNUNET_MESSAGE_TYPE_DV_SEND 45
    234 
    235 /**
    236  * DV service to DV api message, containing a confirmation
    237  * or failure of a DV_SEND message.
    238  */
    239 #define GNUNET_MESSAGE_TYPE_DV_SEND_ACK 46
    240 
    241 /**
    242  * P2P DV message encapsulating some real message
    243  */
    244 #define GNUNET_MESSAGE_TYPE_DV_ROUTE 47
    245 
    246 /**
    247  * DV Plugin to DV service message, indicating
    248  * startup.
    249  */
    250 #define GNUNET_MESSAGE_TYPE_DV_START 48
    251 
    252 /**
    253  * P2P DV message telling plugin that a peer connected
    254  */
    255 #define GNUNET_MESSAGE_TYPE_DV_CONNECT 49
    256 
    257 /**
    258  * P2P DV message telling plugin that a peer disconnected
    259  */
    260 #define GNUNET_MESSAGE_TYPE_DV_DISCONNECT 50
    261 
    262 /**
    263  * P2P DV message telling plugin that a message transmission failed (negative
    264  * ACK)
    265  */
    266 #define GNUNET_MESSAGE_TYPE_DV_SEND_NACK 51
    267 
    268 /**
    269  * P2P DV message telling plugin that our distance to a peer changed
    270  */
    271 #define GNUNET_MESSAGE_TYPE_DV_DISTANCE_CHANGED 52
    272 
    273 /**
    274  * DV message box for boxing multiple messages.
    275  */
    276 #define GNUNET_MESSAGE_TYPE_DV_BOX 53
    277 
    278 
    279 /**
    280  * Experimental message type.
    281  */
    282 #define GNUNET_MESSAGE_TYPE_TRANSPORT_XU_MESSAGE 55
    283 
    284 
    285 /*******************************************************************************
    286  * Transport-UDP message types
    287  ******************************************************************************/
    288 
    289 /**
    290  * Normal UDP message type.
    291  */
    292 #define GNUNET_MESSAGE_TYPE_TRANSPORT_UDP_MESSAGE 56
    293 
    294 /**
    295  * UDP ACK.
    296  */
    297 #define GNUNET_MESSAGE_TYPE_TRANSPORT_UDP_ACK 57
    298 
    299 /*******************************************************************************
    300  * Transport-TCP message types
    301  ******************************************************************************/
    302 
    303 /**
    304  * TCP NAT probe message, send from NAT'd peer to
    305  * other peer to establish bi-directional communication
    306  */
    307 #define GNUNET_MESSAGE_TYPE_TRANSPORT_TCP_NAT_PROBE 60
    308 
    309 /**
    310  * Welcome message between TCP transports.
    311  */
    312 #define GNUNET_MESSAGE_TYPE_TRANSPORT_TCP_WELCOME 61
    313 
    314 /**
    315  * Message to force transport to update bandwidth assignment (LEGACY)
    316  */
    317 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ATS 62
    318 
    319 /*******************************************************************************
    320  * NAT message types
    321  ******************************************************************************/
    322 
    323 /**
    324  * Message to ask NAT server to perform traversal test
    325  */
    326 #define GNUNET_MESSAGE_TYPE_NAT_TEST 63
    327 
    328 /*******************************************************************************
    329  * CORE message types
    330  ******************************************************************************/
    331 
    332 /**
    333  * Initial setup message from core client to core.
    334  */
    335 #define GNUNET_MESSAGE_TYPE_CORE_INIT 64
    336 
    337 /**
    338  * Response from core to core client to INIT message.
    339  */
    340 #define GNUNET_MESSAGE_TYPE_CORE_INIT_REPLY 65
    341 
    342 /**
    343  * Notify clients about new peer-to-peer connections (triggered
    344  * after key exchange).
    345  */
    346 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_CONNECT 67
    347 
    348 /**
    349  * Notify clients about peer disconnecting.
    350  */
    351 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_DISCONNECT 68
    352 
    353 /**
    354  * Notify clients about peer status change.
    355  */
    356 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_STATUS_CHANGE 69
    357 
    358 /**
    359  * Notify clients about incoming P2P messages.
    360  */
    361 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_INBOUND 70
    362 
    363 /**
    364  * Notify clients about outgoing P2P transmissions.
    365  */
    366 #define GNUNET_MESSAGE_TYPE_CORE_NOTIFY_OUTBOUND 71
    367 
    368 /**
    369  * Request from client to transmit message.
    370  */
    371 #define GNUNET_MESSAGE_TYPE_CORE_SEND_REQUEST 74
    372 
    373 /**
    374  * Confirmation from core that message can now be sent
    375  */
    376 #define GNUNET_MESSAGE_TYPE_CORE_SEND_READY 75
    377 
    378 /**
    379  * Client with message to transmit (after SEND_READY confirmation
    380  * was received).
    381  */
    382 #define GNUNET_MESSAGE_TYPE_CORE_SEND 76
    383 
    384 /**
    385  * Request for connection monitoring from CORE service.
    386  */
    387 #define GNUNET_MESSAGE_TYPE_CORE_MONITOR_PEERS 78
    388 
    389 /**
    390  * Reply for monitor by CORE service.
    391  */
    392 #define GNUNET_MESSAGE_TYPE_CORE_MONITOR_NOTIFY 79
    393 
    394 
    395 /**
    396  * for more detail on the following messages see https://lsd.gnunet.org/lsd0012/draft-schanzen-cake.html
    397  */
    398 
    399 /**
    400  * First message of the handshake - sent by the initiator
    401  */
    402 #define GNUNET_MESSAGE_TYPE_CORE_INITIATOR_HELLO 80
    403 
    404 /**
    405  * Reply to the first message from the initiator - first message sent by the
    406  * responder
    407  */
    408 #define GNUNET_MESSAGE_TYPE_CORE_RESPONDER_HELLO 81
    409 
    410 /**
    411  * Third and final message of the handshake, second of the initiator
    412  */
    413 #define GNUNET_MESSAGE_TYPE_CORE_INITIATOR_DONE 82
    414 
    415 /**
    416  * Encrypted message
    417  */
    418 #define GNUNET_MESSAGE_TYPE_CORE_ENCRYPTED_MESSAGE_CAKE 83 // TODO rename
    419 
    420 /**
    421  * Message updating the keys of the peers
    422  */
    423 #define GNUNET_MESSAGE_TYPE_CORE_HEARTBEAT 84
    424 
    425 /**
    426  * Acknowledgement of prior messages
    427  */
    428 #define GNUNET_MESSAGE_TYPE_CORE_ACK 85
    429 
    430 
    431 /*******************************************************************************
    432  * DATASTORE message types
    433  ******************************************************************************/
    434 
    435 /**
    436  * Message sent by datastore client on join.
    437  */
    438 #define GNUNET_MESSAGE_TYPE_DATASTORE_RESERVE 92
    439 
    440 /**
    441  * Message sent by datastore client on join.
    442  */
    443 #define GNUNET_MESSAGE_TYPE_DATASTORE_RELEASE_RESERVE 93
    444 
    445 /**
    446  * Message sent by datastore to client informing about status
    447  * processing a request
    448  * (in response to RESERVE, RELEASE_RESERVE, PUT, UPDATE and REMOVE requests).
    449  */
    450 #define GNUNET_MESSAGE_TYPE_DATASTORE_STATUS 94
    451 
    452 /**
    453  * Message sent by datastore client to store data.
    454  */
    455 #define GNUNET_MESSAGE_TYPE_DATASTORE_PUT 95
    456 
    457 /**
    458  * Message sent by datastore client to get data.
    459  */
    460 #define GNUNET_MESSAGE_TYPE_DATASTORE_GET 97
    461 
    462 /**
    463  * Message sent by datastore client to get random data.
    464  */
    465 #define GNUNET_MESSAGE_TYPE_DATASTORE_GET_REPLICATION 98
    466 
    467 /**
    468  * Message sent by datastore client to get random data.
    469  */
    470 #define GNUNET_MESSAGE_TYPE_DATASTORE_GET_ZERO_ANONYMITY 99
    471 
    472 /**
    473  * Message sent by datastore to client providing requested data
    474  * (in response to GET or GET_RANDOM request).
    475  */
    476 #define GNUNET_MESSAGE_TYPE_DATASTORE_DATA 100
    477 
    478 /**
    479  * Message sent by datastore to client signaling end of matching data.
    480  * This message will also be sent for "GET_RANDOM", even though
    481  * "GET_RANDOM" returns at most one data item.
    482  */
    483 #define GNUNET_MESSAGE_TYPE_DATASTORE_DATA_END 101
    484 
    485 /**
    486  * Message sent by datastore client to remove data.
    487  */
    488 #define GNUNET_MESSAGE_TYPE_DATASTORE_REMOVE 102
    489 
    490 /**
    491  * Message sent by datastore client to drop the database.
    492  */
    493 #define GNUNET_MESSAGE_TYPE_DATASTORE_DROP 103
    494 
    495 /**
    496  * Message sent by datastore client to get data by key.
    497  */
    498 #define GNUNET_MESSAGE_TYPE_DATASTORE_GET_KEY 104
    499 
    500 
    501 /*******************************************************************************
    502  * FS message types
    503  ******************************************************************************/
    504 
    505 /**
    506  * Message sent by fs client to request LOC signature.
    507  */
    508 #define GNUNET_MESSAGE_TYPE_FS_REQUEST_LOC_SIGN 126
    509 
    510 /**
    511  * Reply sent by fs service with LOC signature.
    512  */
    513 #define GNUNET_MESSAGE_TYPE_FS_REQUEST_LOC_SIGNATURE 127
    514 
    515 /**
    516  * Message sent by fs client to start indexing.
    517  */
    518 #define GNUNET_MESSAGE_TYPE_FS_INDEX_START 128
    519 
    520 /**
    521  * Affirmative response to a request for start indexing.
    522  */
    523 #define GNUNET_MESSAGE_TYPE_FS_INDEX_START_OK 129
    524 
    525 /**
    526  * Response to a request for start indexing that
    527  * refuses.
    528  */
    529 #define GNUNET_MESSAGE_TYPE_FS_INDEX_START_FAILED 130
    530 
    531 /**
    532  * Request from client for list of indexed files.
    533  */
    534 #define GNUNET_MESSAGE_TYPE_FS_INDEX_LIST_GET 131
    535 
    536 /**
    537  * Reply to client with an indexed file name.
    538  */
    539 #define GNUNET_MESSAGE_TYPE_FS_INDEX_LIST_ENTRY 132
    540 
    541 /**
    542  * Reply to client indicating end of list.
    543  */
    544 #define GNUNET_MESSAGE_TYPE_FS_INDEX_LIST_END 133
    545 
    546 /**
    547  * Request from client to unindex a file.
    548  */
    549 #define GNUNET_MESSAGE_TYPE_FS_UNINDEX 134
    550 
    551 /**
    552  * Reply to client indicating unindex receipt.
    553  */
    554 #define GNUNET_MESSAGE_TYPE_FS_UNINDEX_OK 135
    555 
    556 /**
    557  * Client asks FS service to start a (keyword) search.
    558  */
    559 #define GNUNET_MESSAGE_TYPE_FS_START_SEARCH 136
    560 
    561 /**
    562  * P2P request for content (one FS to another).
    563  */
    564 #define GNUNET_MESSAGE_TYPE_FS_GET 137
    565 
    566 /**
    567  * P2P response with content or active migration of content.  Also
    568  * used between the service and clients (in response to
    569  * #GNUNET_MESSAGE_TYPE_FS_START_SEARCH).
    570  */
    571 #define GNUNET_MESSAGE_TYPE_FS_PUT 138
    572 
    573 /**
    574  * Peer asks us to stop migrating content towards it for a while.
    575  */
    576 #define GNUNET_MESSAGE_TYPE_FS_MIGRATION_STOP 139
    577 
    578 /**
    579  * P2P request for content (one FS to another via a cadet).
    580  */
    581 #define GNUNET_MESSAGE_TYPE_FS_CADET_QUERY 140
    582 
    583 /**
    584  * P2P answer for content (one FS to another via a cadet).
    585  */
    586 #define GNUNET_MESSAGE_TYPE_FS_CADET_REPLY 141
    587 
    588 
    589 /*******************************************************************************
    590  * DHT message types
    591  ******************************************************************************/
    592 /**
    593  * Client wants to store item in DHT.
    594  */
    595 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_PUT 142
    596 
    597 /**
    598  * Client wants to lookup item in DHT.
    599  */
    600 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET 143
    601 
    602 /**
    603  * Client wants to stop search in DHT.
    604  */
    605 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_STOP 144
    606 
    607 /**
    608  * Service returns result to client.
    609  */
    610 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_RESULT 145
    611 
    612 /**
    613  * Peer is storing data in DHT.
    614  */
    615 #define GNUNET_MESSAGE_TYPE_DHT_P2P_PUT 146
    616 
    617 /**
    618  * Peer tries to find data in DHT.
    619  */
    620 #define GNUNET_MESSAGE_TYPE_DHT_P2P_GET 147
    621 
    622 /**
    623  * Data is returned to peer from DHT.
    624  */
    625 #define GNUNET_MESSAGE_TYPE_DHT_P2P_RESULT 148
    626 
    627 /**
    628  * Receive information about transiting GETs
    629  */
    630 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET 149
    631 
    632 /**
    633  * Receive information about transiting GET responses
    634  */
    635 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET_RESP 150
    636 
    637 /**
    638  * Receive information about transiting PUTs
    639  */
    640 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT 151
    641 
    642 /**
    643  * Receive information about transiting PUT responses (TODO)
    644  */
    645 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_PUT_RESP 152
    646 
    647 /**
    648  * Request information about transiting messages
    649  */
    650 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_START 153
    651 
    652 /**
    653  * Stop information about transiting messages
    654  */
    655 #define GNUNET_MESSAGE_TYPE_DHT_MONITOR_STOP 154
    656 
    657 /**
    658  * Certain results are already known to the client, filter those.
    659  */
    660 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_RESULTS_KNOWN 156
    661 
    662 /**
    663  * HELLO advertising a neighbours addresses.
    664  */
    665 #define GNUNET_MESSAGE_TYPE_DHT_P2P_HELLO 157
    666 
    667 /**
    668  * Encapsulation of DHT messages in CORE service.
    669  */
    670 #define GNUNET_MESSAGE_TYPE_DHT_CORE 158
    671 
    672 /**
    673  * HELLO URL send between client and service (in
    674  * either direction).
    675  */
    676 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_HELLO_URL 159
    677 
    678 /**
    679  * Client requests DHT service's HELLO URL.
    680  */
    681 #define GNUNET_MESSAGE_TYPE_DHT_CLIENT_HELLO_GET 161
    682 
    683 
    684 /*******************************************************************************
    685  * HOSTLIST message types
    686  ******************************************************************************/
    687 
    688 /**
    689  * Hostlist advertisement message
    690  */
    691 #define GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT 160
    692 
    693 
    694 /*******************************************************************************
    695  * STATISTICS message types
    696  ******************************************************************************/
    697 
    698 /**
    699  * Set a statistical value.
    700  */
    701 #define GNUNET_MESSAGE_TYPE_STATISTICS_SET 168
    702 
    703 /**
    704  * Get a statistical value(s).
    705  */
    706 #define GNUNET_MESSAGE_TYPE_STATISTICS_GET 169
    707 
    708 /**
    709  * Response to a STATISTICS_GET message (with value).
    710  */
    711 #define GNUNET_MESSAGE_TYPE_STATISTICS_VALUE 170
    712 
    713 /**
    714  * Response to a STATISTICS_GET message (end of value stream).
    715  */
    716 #define GNUNET_MESSAGE_TYPE_STATISTICS_END 171
    717 
    718 /**
    719  * Watch changes to a statistical value.  Message format is the same
    720  * as for GET, except that the subsystem and entry name must be given.
    721  */
    722 #define GNUNET_MESSAGE_TYPE_STATISTICS_WATCH 172
    723 
    724 /**
    725  * Changes to a watched value.
    726  */
    727 #define GNUNET_MESSAGE_TYPE_STATISTICS_WATCH_VALUE 173
    728 
    729 /**
    730  * Client is done sending service requests and will now disconnect.
    731  */
    732 #define GNUNET_MESSAGE_TYPE_STATISTICS_DISCONNECT 174
    733 
    734 /**
    735  * Service confirms disconnect and that it is done processing
    736  * all requests from the client.
    737  */
    738 #define GNUNET_MESSAGE_TYPE_STATISTICS_DISCONNECT_CONFIRM 175
    739 
    740 /*******************************************************************************
    741  * VPN message types
    742  ******************************************************************************/
    743 
    744 /**
    745  * Type of messages between the gnunet-vpn-helper and the daemon
    746  */
    747 #define GNUNET_MESSAGE_TYPE_VPN_HELPER 185
    748 
    749 /**
    750  * Type of messages containing an ICMP packet for a service.
    751  */
    752 #define GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_SERVICE 190
    753 
    754 /**
    755  * Type of messages containing an ICMP packet for the Internet.
    756  */
    757 #define GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_INTERNET 191
    758 
    759 /**
    760  * Type of messages containing an ICMP packet for the VPN
    761  */
    762 #define GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_VPN 192
    763 
    764 /**
    765  * Type of messages containing an DNS request for a DNS exit service.
    766  */
    767 #define GNUNET_MESSAGE_TYPE_VPN_DNS_TO_INTERNET 193
    768 
    769 /**
    770  * Type of messages containing an DNS reply from a DNS exit service.
    771  */
    772 #define GNUNET_MESSAGE_TYPE_VPN_DNS_FROM_INTERNET 194
    773 
    774 /**
    775  * Type of messages containing an TCP packet for a service.
    776  */
    777 #define GNUNET_MESSAGE_TYPE_VPN_TCP_TO_SERVICE_START 195
    778 
    779 /**
    780  * Type of messages containing an TCP packet for the Internet.
    781  */
    782 #define GNUNET_MESSAGE_TYPE_VPN_TCP_TO_INTERNET_START 196
    783 
    784 /**
    785  * Type of messages containing an TCP packet of an established connection.
    786  */
    787 #define GNUNET_MESSAGE_TYPE_VPN_TCP_DATA_TO_EXIT 197
    788 
    789 /**
    790  * Type of messages containing an TCP packet of an established connection.
    791  */
    792 #define GNUNET_MESSAGE_TYPE_VPN_TCP_DATA_TO_VPN 198
    793 
    794 /**
    795  * Type of messages containing an UDP packet for a service.
    796  */
    797 #define GNUNET_MESSAGE_TYPE_VPN_UDP_TO_SERVICE 199
    798 
    799 /**
    800  * Type of messages containing an UDP packet for the Internet.
    801  */
    802 #define GNUNET_MESSAGE_TYPE_VPN_UDP_TO_INTERNET 200
    803 
    804 /**
    805  * Type of messages containing an UDP packet from a remote host
    806  */
    807 #define GNUNET_MESSAGE_TYPE_VPN_UDP_REPLY 201
    808 
    809 
    810 /**
    811  * Client asks VPN service to setup an IP to redirect traffic
    812  * via an exit node to some global IP address.
    813  */
    814 #define GNUNET_MESSAGE_TYPE_VPN_CLIENT_REDIRECT_TO_IP 202
    815 
    816 /**
    817  * Client asks VPN service to setup an IP to redirect traffic
    818  * to some peer offering a service.
    819  */
    820 #define GNUNET_MESSAGE_TYPE_VPN_CLIENT_REDIRECT_TO_SERVICE 203
    821 
    822 /**
    823  * VPN service responds to client with an IP to use for the
    824  * requested redirection.
    825  */
    826 #define GNUNET_MESSAGE_TYPE_VPN_CLIENT_USE_IP 204
    827 
    828 
    829 /*******************************************************************************
    830  * VPN-DNS message types
    831  ******************************************************************************/
    832 
    833 
    834 /**
    835  * Initial message from client to DNS service for registration.
    836  */
    837 #define GNUNET_MESSAGE_TYPE_DNS_CLIENT_INIT 211
    838 
    839 /**
    840  * Type of messages between the gnunet-helper-dns and the service
    841  */
    842 #define GNUNET_MESSAGE_TYPE_DNS_CLIENT_REQUEST 212
    843 
    844 /**
    845  * Type of messages between the gnunet-helper-dns and the service
    846  */
    847 #define GNUNET_MESSAGE_TYPE_DNS_CLIENT_RESPONSE 213
    848 
    849 /**
    850  * Type of messages between the gnunet-helper-dns and the service
    851  */
    852 #define GNUNET_MESSAGE_TYPE_DNS_HELPER 214
    853 
    854 
    855 /*******************************************************************************
    856  * CHAT message types START
    857  ******************************************************************************/
    858 
    859 /**
    860  * Message sent from client to join a chat room.
    861  */
    862 #define GNUNET_MESSAGE_TYPE_CHAT_JOIN_REQUEST 300
    863 
    864 /**
    865  * Message sent to client to indicate joining of another room member.
    866  */
    867 #define GNUNET_MESSAGE_TYPE_CHAT_JOIN_NOTIFICATION 301
    868 
    869 /**
    870  * Message sent to client to indicate leaving of another room member.
    871  */
    872 #define GNUNET_MESSAGE_TYPE_CHAT_LEAVE_NOTIFICATION 302
    873 
    874 /**
    875  * Notification sent by service to client indicating that we've received a chat
    876  * message.
    877  */
    878 #define GNUNET_MESSAGE_TYPE_CHAT_MESSAGE_NOTIFICATION 303
    879 
    880 /**
    881  * Request sent by client to transmit a chat message to another room members.
    882  */
    883 #define GNUNET_MESSAGE_TYPE_CHAT_TRANSMIT_REQUEST 304
    884 
    885 /**
    886  * Receipt sent from a message receiver to the service to confirm delivery of
    887  * a chat message.
    888  */
    889 #define GNUNET_MESSAGE_TYPE_CHAT_CONFIRMATION_RECEIPT 305
    890 
    891 /**
    892  * Notification sent from the service to the original sender
    893  * to acknowledge delivery of a chat message.
    894  */
    895 #define GNUNET_MESSAGE_TYPE_CHAT_CONFIRMATION_NOTIFICATION 306
    896 
    897 /**
    898  * P2P message sent to indicate joining of another room member.
    899  */
    900 #define GNUNET_MESSAGE_TYPE_CHAT_P2P_JOIN_NOTIFICATION 307
    901 
    902 /**
    903  * P2P message sent to indicate leaving of another room member.
    904  */
    905 #define GNUNET_MESSAGE_TYPE_CHAT_P2P_LEAVE_NOTIFICATION 308
    906 
    907 /**
    908  * P2P message sent to a newly connected peer to request its known clients in
    909  * order to synchronize room members.
    910  */
    911 #define GNUNET_MESSAGE_TYPE_CHAT_P2P_SYNC_REQUEST 309
    912 
    913 /**
    914  * Notification sent from one peer to another to indicate that we have received
    915  * a chat message.
    916  */
    917 #define GNUNET_MESSAGE_TYPE_CHAT_P2P_MESSAGE_NOTIFICATION 310
    918 
    919 /**
    920  * P2P receipt confirming delivery of a chat message.
    921  */
    922 #define GNUNET_MESSAGE_TYPE_CHAT_P2P_CONFIRMATION_RECEIPT 311
    923 
    924 
    925 /*******************************************************************************
    926  * NSE (network size estimation) message types
    927  ******************************************************************************/
    928 
    929 /**
    930  * client->service message indicating start
    931  */
    932 #define GNUNET_MESSAGE_TYPE_NSE_START 321
    933 
    934 /**
    935  * P2P message sent from nearest peer
    936  */
    937 #define GNUNET_MESSAGE_TYPE_NSE_P2P_FLOOD 322
    938 
    939 /**
    940  * service->client message indicating
    941  */
    942 #define GNUNET_MESSAGE_TYPE_NSE_ESTIMATE 323
    943 
    944 
    945 /*******************************************************************************
    946  * PEERINFO message types
    947  ******************************************************************************/
    948 
    949 /**
    950  * Request update and listing of a peer.
    951  */
    952 #define GNUNET_MESSAGE_TYPE_PEERINFO_GET 330
    953 
    954 /**
    955  * Request update and listing of all peers.
    956  */
    957 #define GNUNET_MESSAGE_TYPE_PEERINFO_GET_ALL 331
    958 
    959 /**
    960  * Information about one of the peers.
    961  */
    962 #define GNUNET_MESSAGE_TYPE_PEERINFO_INFO 332
    963 
    964 /**
    965  * End of information about other peers.
    966  */
    967 #define GNUNET_MESSAGE_TYPE_PEERINFO_INFO_END 333
    968 
    969 /**
    970  * Start notifying this client about all changes to
    971  * the known peers until it disconnects.
    972  */
    973 #define GNUNET_MESSAGE_TYPE_PEERINFO_NOTIFY 334
    974 
    975 /*******************************************************************************
    976  * ATS message types
    977  ******************************************************************************/
    978 
    979 /**
    980  * Type of the 'struct ClientStartMessage' sent by clients to ATS to
    981  * identify the type of the client.
    982  */
    983 #define GNUNET_MESSAGE_TYPE_ATS_START 340
    984 
    985 /**
    986  * Type of the 'struct RequestAddressMessage' sent by clients to ATS
    987  * to request an address to help connect.
    988  */
    989 #define GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS 341
    990 
    991 /**
    992  * Type of the 'struct RequestAddressMessage' sent by clients to ATS
    993  * to request an address to help connect.
    994  */
    995 #define GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS_CANCEL 342
    996 
    997 /**
    998  * Type of the 'struct AddressUpdateMessage' sent by clients to ATS
    999  * to inform ATS about performance changes.
   1000  */
   1001 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_UPDATE 343
   1002 
   1003 /**
   1004  * Type of the 'struct AddressDestroyedMessage' sent by clients to ATS
   1005  * to inform ATS about an address being unavailable.
   1006  */
   1007 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_DESTROYED 344
   1008 
   1009 /**
   1010  * Type of the 'struct AddressSuggestionMessage' sent by ATS to clients
   1011  * to suggest switching to a different address.
   1012  */
   1013 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_SUGGESTION 345
   1014 
   1015 /**
   1016  * Type of the 'struct PeerInformationMessage' sent by ATS to clients
   1017  * to inform about QoS for a particular connection.
   1018  */
   1019 #define GNUNET_MESSAGE_TYPE_ATS_PEER_INFORMATION 346
   1020 
   1021 /**
   1022  * Type of the 'struct ReservationRequestMessage' sent by clients to ATS
   1023  * to ask for inbound bandwidth reservations.
   1024  */
   1025 #define GNUNET_MESSAGE_TYPE_ATS_RESERVATION_REQUEST 347
   1026 
   1027 /**
   1028  * Type of the 'struct ReservationResultMessage' sent by ATS to clients
   1029  * in response to a reservation request.
   1030  */
   1031 #define GNUNET_MESSAGE_TYPE_ATS_RESERVATION_RESULT 348
   1032 
   1033 /**
   1034  * Type of the 'struct ChangePreferenceMessage' sent by clients to ATS
   1035  * to ask for allocation preference changes.
   1036  */
   1037 #define GNUNET_MESSAGE_TYPE_ATS_PREFERENCE_CHANGE 349
   1038 
   1039 /**
   1040  * Type of the 'struct SessionReleaseMessage' sent by ATS to client
   1041  * to confirm that a session ID was destroyed.
   1042  */
   1043 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_RELEASE 350
   1044 
   1045 /**
   1046  * Type of the 'struct AddressUpdateMessage' sent by client to ATS
   1047  * to add a new address
   1048  */
   1049 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESS_ADD 353
   1050 
   1051 /**
   1052  * Type of the 'struct AddressListRequestMessage' sent by client to ATS
   1053  * to request information about addresses
   1054  */
   1055 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESSLIST_REQUEST 354
   1056 
   1057 /**
   1058  * Type of the 'struct AddressListResponseMessage' sent by ATS to client
   1059  * with information about addresses
   1060  */
   1061 #define GNUNET_MESSAGE_TYPE_ATS_ADDRESSLIST_RESPONSE 355
   1062 
   1063 /**
   1064  * Type of the 'struct ChangePreferenceMessage' sent by clients to ATS
   1065  * to ask for allocation preference changes.
   1066  */
   1067 #define GNUNET_MESSAGE_TYPE_ATS_PREFERENCE_FEEDBACK 356
   1068 
   1069 
   1070 /*******************************************************************************
   1071  * TRANSPORT message types
   1072  ******************************************************************************/
   1073 
   1074 /**
   1075  * Message from the core saying that the transport
   1076  * server should start giving it messages.  This
   1077  * should automatically trigger the transmission of
   1078  * a HELLO message.
   1079  */
   1080 #define GNUNET_MESSAGE_TYPE_TRANSPORT_START 360
   1081 
   1082 /**
   1083  * Message from TRANSPORT notifying about a
   1084  * client that connected to us.
   1085  */
   1086 #define GNUNET_MESSAGE_TYPE_TRANSPORT_CONNECT 361
   1087 
   1088 /**
   1089  * Message from TRANSPORT notifying about a
   1090  * client that disconnected from us.
   1091  */
   1092 #define GNUNET_MESSAGE_TYPE_TRANSPORT_DISCONNECT 362
   1093 
   1094 /**
   1095  * Request to TRANSPORT to transmit a message.
   1096  */
   1097 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SEND 363
   1098 
   1099 /**
   1100  * Confirmation from TRANSPORT that message for transmission has been
   1101  * queued (and that the next message to this peer can now be passed to
   1102  * the service).  Note that this confirmation does NOT imply that the
   1103  * message was fully transmitted.
   1104  */
   1105 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SEND_OK 364
   1106 
   1107 /**
   1108  * Message from TRANSPORT notifying about a
   1109  * message that was received.
   1110  */
   1111 #define GNUNET_MESSAGE_TYPE_TRANSPORT_RECV 365
   1112 
   1113 /**
   1114  * Message telling transport to limit its receive rate.
   1115  * (FIXME: was the above comment ever accurate?)
   1116  *
   1117  * Note: dead in TNG, replaced by RECV_OK!
   1118  */
   1119 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SET_QUOTA 366
   1120 
   1121 /**
   1122  * Message telling transport to limit its receive rate.
   1123  */
   1124 #define GNUNET_MESSAGE_TYPE_TRANSPORT_RECV_OK 366
   1125 
   1126 /**
   1127  * Request to look addresses of peers in server.
   1128  */
   1129 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_TO_STRING 367
   1130 
   1131 /**
   1132  * Response to the address lookup request.
   1133  */
   1134 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_TO_STRING_REPLY 368
   1135 
   1136 /**
   1137  * Register a client that wants to do blacklisting.
   1138  */
   1139 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BLACKLIST_INIT 369
   1140 
   1141 /**
   1142  * Query to a blacklisting client (is this peer blacklisted)?
   1143  */
   1144 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BLACKLIST_QUERY 370
   1145 
   1146 /**
   1147  * Reply from blacklisting client (answer to blacklist query).
   1148  */
   1149 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BLACKLIST_REPLY 371
   1150 
   1151 /**
   1152  * Transport PING message
   1153  */
   1154 #define GNUNET_MESSAGE_TYPE_TRANSPORT_PING 372
   1155 
   1156 /**
   1157  * Transport PONG message
   1158  */
   1159 #define GNUNET_MESSAGE_TYPE_TRANSPORT_PONG 373
   1160 
   1161 /**
   1162  * Transport SYN message exchanged between transport services to
   1163  * indicate that a session should be marked as 'connected'.
   1164  */
   1165 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_SYN 375
   1166 
   1167 /**
   1168  * Transport SYN_ACK message exchanged between transport services to
   1169  * indicate that a SYN message was accepted
   1170  */
   1171 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_SYN_ACK 376
   1172 
   1173 /**
   1174  * Transport ACK message exchanged between transport services to
   1175  * indicate that a SYN_ACK message was accepted
   1176  */
   1177 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_ACK 377
   1178 
   1179 /**
   1180  * Transport DISCONNECT message exchanged between transport services to
   1181  * indicate that a connection should be dropped.
   1182  */
   1183 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_DISCONNECT 378
   1184 
   1185 /**
   1186  * Message exchanged between transport services to
   1187  * indicate that the sender should limit its transmission
   1188  * rate to the indicated quota.
   1189  */
   1190 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_QUOTA 379
   1191 
   1192 /**
   1193  * Request to monitor addresses used by a peer or all peers.
   1194  */
   1195 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_REQUEST 380
   1196 
   1197 /**
   1198  * Message send by a peer to notify the other to keep the session alive
   1199  * and measure latency in a regular interval
   1200  */
   1201 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE 381
   1202 
   1203 /**
   1204  * Response to a #GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE message to
   1205  * measure latency in a regular interval
   1206  */
   1207 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_KEEPALIVE_RESPONSE 382
   1208 
   1209 /**
   1210  * Response to #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_REQUEST
   1211  * request to iterate over all known addresses.
   1212  */
   1213 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE 383
   1214 
   1215 /**
   1216  * Message send by a peer to notify the other to keep the session alive.
   1217  */
   1218 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BROADCAST_BEACON 384
   1219 
   1220 /**
   1221  * Message containing traffic metrics for transport service
   1222  */
   1223 #define GNUNET_MESSAGE_TYPE_TRANSPORT_TRAFFIC_METRIC 385
   1224 
   1225 /**
   1226  * Request to start monitoring the connection state of plugins.
   1227  */
   1228 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_START 388
   1229 
   1230 /**
   1231  * Monitoring event about the connection state of plugins,
   1232  * generated in response to a subscription initiated via
   1233  * #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_START
   1234  */
   1235 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_EVENT 389
   1236 
   1237 /**
   1238  * Monitoring event notifying client that the initial iteration
   1239  * is now completed and we are in sync with the state of the subsystem.
   1240  */
   1241 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_SYNC 390
   1242 
   1243 /**
   1244  * Response to #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE_END
   1245  * terminating list of replies.
   1246  */
   1247 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PEER_RESPONSE_END 391
   1248 
   1249 
   1250 /*******************************************************************************
   1251  * FS-PUBLISH-HELPER IPC Messages
   1252  ******************************************************************************/
   1253 
   1254 /**
   1255  * Progress information from the helper: found a file
   1256  */
   1257 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_PROGRESS_FILE 420
   1258 
   1259 /**
   1260  * Progress information from the helper: found a directory
   1261  */
   1262 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_PROGRESS_DIRECTORY 421
   1263 
   1264 /**
   1265  * Error signal from the helper.
   1266  */
   1267 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_ERROR 422
   1268 
   1269 /**
   1270  * Signal that helper skipped a file.
   1271  */
   1272 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_SKIP_FILE 423
   1273 
   1274 /**
   1275  * Signal that helper is done scanning the directory tree.
   1276  */
   1277 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_COUNTING_DONE 424
   1278 
   1279 /**
   1280  * Extracted meta data from the helper.
   1281  */
   1282 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_META_DATA 425
   1283 
   1284 /**
   1285  * Signal that helper is done.
   1286  */
   1287 #define GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_FINISHED 426
   1288 
   1289 
   1290 /*******************************************************************************
   1291  * NAMECACHE message types
   1292  ******************************************************************************/
   1293 
   1294 /**
   1295  * Client to service: lookup block
   1296  */
   1297 #define GNUNET_MESSAGE_TYPE_NAMECACHE_LOOKUP_BLOCK 431
   1298 
   1299 /**
   1300  * Service to client: result of block lookup
   1301  */
   1302 #define GNUNET_MESSAGE_TYPE_NAMECACHE_LOOKUP_BLOCK_RESPONSE 432
   1303 
   1304 /**
   1305  * Client to service: cache a block
   1306  */
   1307 #define GNUNET_MESSAGE_TYPE_NAMECACHE_BLOCK_CACHE 433
   1308 
   1309 /**
   1310  * Service to client: result of block cache request
   1311  */
   1312 #define GNUNET_MESSAGE_TYPE_NAMECACHE_BLOCK_CACHE_RESPONSE 434
   1313 
   1314 /*******************************************************************************
   1315  * NAMESTORE message types
   1316  ******************************************************************************/
   1317 
   1318 /**
   1319  * Client to service: store records (as authority)
   1320  */
   1321 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_STORE 435
   1322 
   1323 /**
   1324  * Service to client: result of store operation.
   1325  */
   1326 #define GNUNET_MESSAGE_TYPE_NAMESTORE_GENERIC_RESPONSE 436
   1327 
   1328 /**
   1329  * Client to service: lookup label
   1330  */
   1331 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_LOOKUP 437
   1332 
   1333 /**
   1334  * Service to client: lookup label
   1335  */
   1336 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_LOOKUP_RESPONSE 438
   1337 
   1338 /**
   1339  * Client to service: "reverse" lookup for zone name based on zone key
   1340  */
   1341 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_TO_NAME 439
   1342 
   1343 /**
   1344  * Service to client: result of zone-to-name lookup.
   1345  */
   1346 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_TO_NAME_RESPONSE 440
   1347 
   1348 /**
   1349  * Client to service: start monitoring (yields sequence of
   1350  * "ZONE_ITERATION_RESPONSES" --- forever).
   1351  */
   1352 #define GNUNET_MESSAGE_TYPE_NAMESTORE_MONITOR_START 441
   1353 
   1354 /**
   1355  * Service to client: you're now in sync.
   1356  */
   1357 #define GNUNET_MESSAGE_TYPE_NAMESTORE_MONITOR_SYNC 442
   1358 
   1359 /**
   1360  * Service to client: here is a (plaintext) record you requested.
   1361  */
   1362 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_RESULT 443
   1363 
   1364 /**
   1365  * Client to service: I am now ready for the next (set of) monitor
   1366  * events. Monitoring equivlaent of
   1367  * #GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_NEXT.
   1368  */
   1369 #define GNUNET_MESSAGE_TYPE_NAMESTORE_MONITOR_NEXT 444
   1370 
   1371 /**
   1372  * Client to service: please start iteration; receives
   1373  * "GNUNET_MESSAGE_TYPE_NAMESTORE_LOOKUP_NAME_RESPONSE" messages in return.
   1374  */
   1375 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_START 445
   1376 
   1377 /**
   1378  * Client to service: next record(s) in iteration please.
   1379  */
   1380 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_NEXT 447
   1381 
   1382 /**
   1383  * Client to service: stop iterating.
   1384  */
   1385 #define GNUNET_MESSAGE_TYPE_NAMESTORE_ZONE_ITERATION_STOP 448
   1386 
   1387 /**
   1388  * Service to client: end of list of results
   1389  */
   1390 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_RESULT_END 449
   1391 
   1392 
   1393 /*******************************************************************************
   1394  * LOCKMANAGER message types
   1395  ******************************************************************************/
   1396 
   1397 /**
   1398  * Message to acquire Lock
   1399  */
   1400 #define GNUNET_MESSAGE_TYPE_LOCKMANAGER_ACQUIRE 450
   1401 
   1402 /**
   1403  * Message to release lock
   1404  */
   1405 #define GNUNET_MESSAGE_TYPE_LOCKMANAGER_RELEASE 451
   1406 
   1407 /**
   1408  * SUCCESS reply from lockmanager
   1409  */
   1410 #define GNUNET_MESSAGE_TYPE_LOCKMANAGER_SUCCESS 452
   1411 
   1412 /*******************************************************************************
   1413  * TESTBED message types
   1414  ******************************************************************************/
   1415 
   1416 /**
   1417  * Initial message from a client to a testing control service
   1418  */
   1419 #define GNUNET_MESSAGE_TYPE_TESTBED_INIT 460
   1420 
   1421 /**
   1422  * Message to add host
   1423  */
   1424 #define GNUNET_MESSAGE_TYPE_TESTBED_ADD_HOST 461
   1425 
   1426 /**
   1427  * Message to signal that a add host succeeded
   1428  */
   1429 #define GNUNET_MESSAGE_TYPE_TESTBED_ADD_HOST_SUCCESS 462
   1430 
   1431 /**
   1432  * Message to link delegated controller to slave controller
   1433  */
   1434 #define GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS 463
   1435 
   1436 /**
   1437  * Message to create a peer at a host
   1438  */
   1439 #define GNUNET_MESSAGE_TYPE_TESTBED_CREATE_PEER 464
   1440 
   1441 /**
   1442  * Message to reconfigure a peer
   1443  */
   1444 #define GNUNET_MESSAGE_TYPE_TESTBED_RECONFIGURE_PEER 465
   1445 
   1446 /**
   1447  * Message to start a peer at a host
   1448  */
   1449 #define GNUNET_MESSAGE_TYPE_TESTBED_START_PEER 466
   1450 
   1451 /**
   1452  * Message to stop a peer at a host
   1453  */
   1454 #define GNUNET_MESSAGE_TYPE_TESTBED_STOP_PEER 467
   1455 
   1456 /**
   1457  * Message to destroy a peer
   1458  */
   1459 #define GNUNET_MESSAGE_TYPE_TESTBED_DESTROY_PEER 468
   1460 
   1461 /**
   1462  * Configure underlay link message
   1463  */
   1464 #define GNUNET_MESSAGE_TYPE_TESTBED_CONFIGURE_UNDERLAY_LINK 469
   1465 
   1466 /**
   1467  * Message to connect peers in a overlay
   1468  */
   1469 #define GNUNET_MESSAGE_TYPE_TESTBED_OVERLAY_CONNECT 470
   1470 
   1471 /**
   1472  * Message for peer events
   1473  */
   1474 #define GNUNET_MESSAGE_TYPE_TESTBED_PEER_EVENT 471
   1475 
   1476 /**
   1477  * Message for peer connect events
   1478  */
   1479 #define GNUNET_MESSAGE_TYPE_TESTBED_PEER_CONNECT_EVENT 472
   1480 
   1481 /**
   1482  * Message for operation events
   1483  */
   1484 #define GNUNET_MESSAGE_TYPE_TESTBED_OPERATION_FAIL_EVENT 473
   1485 
   1486 /**
   1487  * Message to signal successful peer creation
   1488  */
   1489 #define GNUNET_MESSAGE_TYPE_TESTBED_CREATE_PEER_SUCCESS 474
   1490 
   1491 /**
   1492  * Message to signal a generic operation has been successful
   1493  */
   1494 #define GNUNET_MESSAGE_TYPE_TESTBED_GENERIC_OPERATION_SUCCESS 475
   1495 
   1496 /**
   1497  * Message to get a peer's information
   1498  */
   1499 #define GNUNET_MESSAGE_TYPE_TESTBED_GET_PEER_INFORMATION 476
   1500 
   1501 /**
   1502  * Message containing the peer's information
   1503  */
   1504 #define GNUNET_MESSAGE_TYPE_TESTBED_PEER_INFORMATION 477
   1505 
   1506 /**
   1507  * Message to request a controller to make one of its peer to connect to another
   1508  * peer using the contained HELLO
   1509  */
   1510 #define GNUNET_MESSAGE_TYPE_TESTBED_REMOTE_OVERLAY_CONNECT 478
   1511 
   1512 /**
   1513  * Message to request configuration of a slave controller
   1514  */
   1515 #define GNUNET_MESSAGE_TYPE_TESTBED_GET_SLAVE_CONFIGURATION 479
   1516 
   1517 /**
   1518  * Message which contains the configuration of slave controller
   1519  */
   1520 #define GNUNET_MESSAGE_TYPE_TESTBED_SLAVE_CONFIGURATION 480
   1521 
   1522 /**
   1523  * Message to signal the result of #GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS
   1524  * request
   1525  */
   1526 #define GNUNET_MESSAGE_TYPE_TESTBED_LINK_CONTROLLERS_RESULT 481
   1527 
   1528 /**
   1529  * A controller receiving this message floods it to its directly-connected
   1530  * sub-controllers and then stops and destroys all peers
   1531  */
   1532 #define GNUNET_MESSAGE_TYPE_TESTBED_SHUTDOWN_PEERS 482
   1533 
   1534 /**
   1535  * Message to start/stop a service of a peer
   1536  */
   1537 #define GNUNET_MESSAGE_TYPE_TESTBED_MANAGE_PEER_SERVICE 483
   1538 
   1539 /**
   1540  * Message to initialise a barrier.  Messages of these type are flooded to all
   1541  * sub-controllers
   1542  */
   1543 #define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_INIT 484
   1544 
   1545 /**
   1546  * Message to cancel a barrier.  This message is flooded to all sub-controllers
   1547  */
   1548 #define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_CANCEL 485
   1549 
   1550 /**
   1551  * Message for signalling status of a barrier
   1552  */
   1553 #define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_STATUS 486
   1554 
   1555 /**
   1556  * Message sent by a peer when it has reached a barrier and is waiting for it to
   1557  * be crossed
   1558  */
   1559 #define GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_WAIT 487
   1560 
   1561 /**
   1562  * Not really a message, but for careful checks on the testbed messages; Should
   1563  * always be the maximum and never be used to send messages with this type
   1564  */
   1565 #define GNUNET_MESSAGE_TYPE_TESTBED_MAX 488
   1566 
   1567 /**
   1568  * The initialization message towards gnunet-testbed-helper
   1569  */
   1570 #define GNUNET_MESSAGE_TYPE_TESTBED_HELPER_INIT 495
   1571 
   1572 /**
   1573  * The reply message from gnunet-testbed-helper
   1574  */
   1575 #define GNUNET_MESSAGE_TYPE_TESTBED_HELPER_REPLY 496
   1576 
   1577 
   1578 /******************************************************************************
   1579  * GNS.
   1580  *****************************************************************************/
   1581 
   1582 /**
   1583  * Client would like to resolve a name.
   1584  */
   1585 #define GNUNET_MESSAGE_TYPE_GNS_LOOKUP 500
   1586 
   1587 /**
   1588  * Service response to name resolution request from client.
   1589  */
   1590 #define GNUNET_MESSAGE_TYPE_GNS_LOOKUP_RESULT 501
   1591 
   1592 /**
   1593  * Reverse lookup
   1594  */
   1595 #define GNUNET_MESSAGE_TYPE_GNS_REVERSE_LOOKUP 503
   1596 
   1597 /**
   1598  * Response to reverse lookup
   1599  */
   1600 #define GNUNET_MESSAGE_TYPE_GNS_REVERSE_LOOKUP_RESULT 504
   1601 
   1602 
   1603 /*******************************************************************************
   1604  * CONSENSUS message types
   1605  ******************************************************************************/
   1606 
   1607 /**
   1608  * Join a consensus session. Sent by client to service as first message.
   1609  */
   1610 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_JOIN 520
   1611 
   1612 /**
   1613  * Insert an element. Sent by client to service.
   1614  */
   1615 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_INSERT 521
   1616 
   1617 /**
   1618  * Begin accepting new elements from other participants.
   1619  * Sent by client to service.
   1620  */
   1621 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_BEGIN 522
   1622 
   1623 /**
   1624  * Sent by service when a new element is added.
   1625  */
   1626 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_RECEIVED_ELEMENT 523
   1627 
   1628 /**
   1629  * Sent by client to service in order to start the consensus conclusion.
   1630  */
   1631 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE 524
   1632 
   1633 /**
   1634  * Sent by service to client in order to signal a completed consensus
   1635  * conclusion. Last message sent in a consensus session.
   1636  */
   1637 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE_DONE 525
   1638 
   1639 
   1640 /* message types 526-539 reserved for consensus client/service messages */
   1641 
   1642 
   1643 /**
   1644  * Sent by client to service, telling whether a received element should
   1645  * be accepted and propagated further or not.
   1646  */
   1647 #define GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_ACK 540
   1648 
   1649 /**
   1650  * Strata estimator.
   1651  */
   1652 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_DELTA_ESTIMATE 541
   1653 
   1654 /**
   1655  * IBF containing all elements of a peer.
   1656  */
   1657 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_DIFFERENCE_DIGEST 542
   1658 
   1659 /**
   1660  * One or more elements that are sent from peer to peer.
   1661  */
   1662 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ELEMENTS 543
   1663 
   1664 /**
   1665  * Elements, and requests for further elements
   1666  */
   1667 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ELEMENTS_REQUEST 544
   1668 
   1669 /**
   1670  * Elements that a peer reports to be missing at the remote peer.
   1671  */
   1672 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ELEMENTS_REPORT 545
   1673 
   1674 /**
   1675  * Provide context for a consensus round.
   1676  */
   1677 #define GNUNET_MESSAGE_TYPE_CONSENSUS_P2P_ROUND_CONTEXT 547
   1678 
   1679 
   1680 /*******************************************************************************
   1681  * SETU message types
   1682  ******************************************************************************/
   1683 
   1684 
   1685 /**
   1686  * Cancel a set operation
   1687  */
   1688 #define GNUNET_MESSAGE_TYPE_SETU_CANCEL 550
   1689 
   1690 /**
   1691  * Add element to set
   1692  */
   1693 #define GNUNET_MESSAGE_TYPE_SETU_ADD 551
   1694 
   1695 /**
   1696  * Create a new local set
   1697  */
   1698 #define GNUNET_MESSAGE_TYPE_SETU_CREATE 552
   1699 
   1700 /**
   1701  * Handle result message from operation
   1702  */
   1703 #define GNUNET_MESSAGE_TYPE_SETU_RESULT 553
   1704 
   1705 /**
   1706  * Evaluate a set operation
   1707  */
   1708 #define GNUNET_MESSAGE_TYPE_SETU_EVALUATE 554
   1709 
   1710 /**
   1711  * Listen for operation requests
   1712  */
   1713 #define GNUNET_MESSAGE_TYPE_SETU_LISTEN 555
   1714 
   1715 /**
   1716  * Reject a set request.
   1717  */
   1718 #define GNUNET_MESSAGE_TYPE_SETU_REJECT 556
   1719 
   1720 /**
   1721  * Accept an incoming set request
   1722  */
   1723 #define GNUNET_MESSAGE_TYPE_SETU_ACCEPT 557
   1724 
   1725 /**
   1726  * Notify the client of an incoming request from a remote peer
   1727  */
   1728 #define GNUNET_MESSAGE_TYPE_SETU_REQUEST 558
   1729 
   1730 
   1731 /**
   1732  * Demand the whole element from the other
   1733  * peer, given only the hash code.
   1734  */
   1735 #define GNUNET_MESSAGE_TYPE_SETU_P2P_REQUEST_FULL 559
   1736 
   1737 /**
   1738  * Demand the whole element from the other
   1739  * peer, given only the hash code.
   1740  */
   1741 #define GNUNET_MESSAGE_TYPE_SETU_P2P_DEMAND 560
   1742 
   1743 /**
   1744  * Tell the other peer to send us a list of
   1745  * hashes that match an IBF key.
   1746  */
   1747 #define GNUNET_MESSAGE_TYPE_SETU_P2P_INQUIRY 561
   1748 
   1749 /**
   1750  * Tell the other peer which hashes match a
   1751  * given IBF key.
   1752  */
   1753 #define GNUNET_MESSAGE_TYPE_SETU_P2P_OFFER 562
   1754 
   1755 /**
   1756  * Request a set union operation from a remote peer.
   1757  */
   1758 #define GNUNET_MESSAGE_TYPE_SETU_P2P_OPERATION_REQUEST 563
   1759 
   1760 /**
   1761  * Strata estimator.
   1762  */
   1763 #define GNUNET_MESSAGE_TYPE_SETU_P2P_SE 564
   1764 
   1765 /**
   1766  * Invertible bloom filter.
   1767  */
   1768 #define GNUNET_MESSAGE_TYPE_SETU_P2P_IBF 565
   1769 
   1770 /**
   1771  * Actual set elements.
   1772  */
   1773 #define GNUNET_MESSAGE_TYPE_SETU_P2P_ELEMENTS 566
   1774 
   1775 /**
   1776  * Set operation is done.
   1777  */
   1778 #define GNUNET_MESSAGE_TYPE_SETU_P2P_DONE 568
   1779 
   1780 /**
   1781  * Compressed strata estimator.
   1782  */
   1783 #define GNUNET_MESSAGE_TYPE_SETU_P2P_SEC 569
   1784 
   1785 /**
   1786  * Request all missing elements from the other peer,
   1787  * based on their sets and the elements we previously sent
   1788  * with #GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENTS.
   1789  */
   1790 #define GNUNET_MESSAGE_TYPE_SETU_P2P_FULL_DONE 570
   1791 
   1792 /**
   1793  * Send a set element, not as response to a demand but because
   1794  * we're sending the full set.
   1795  */
   1796 #define GNUNET_MESSAGE_TYPE_SETU_P2P_FULL_ELEMENT 571
   1797 
   1798 /**
   1799  * Request all missing elements from the other peer,
   1800  * based on their sets and the elements we previously sent
   1801  * with #GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENTS.
   1802  */
   1803 #define GNUNET_MESSAGE_TYPE_SETU_P2P_OVER 572
   1804 
   1805 /**
   1806  * Signals other peer that all elements are sent.
   1807  */
   1808 
   1809 #define GNUNET_MESSAGE_TYPE_SETU_P2P_SEND_FULL 710
   1810 
   1811 
   1812 /*******************************************************************************
   1813  * SETI message types
   1814  ******************************************************************************/
   1815 
   1816 
   1817 /**
   1818  * Cancel a set operation
   1819  */
   1820 #define GNUNET_MESSAGE_TYPE_SETI_CANCEL 580
   1821 
   1822 /**
   1823  * Add element to set.
   1824  */
   1825 #define GNUNET_MESSAGE_TYPE_SETI_ADD 581
   1826 
   1827 /**
   1828  * Create a new local set
   1829  */
   1830 #define GNUNET_MESSAGE_TYPE_SETI_CREATE 582
   1831 
   1832 /**
   1833  * Handle result message from operation
   1834  */
   1835 #define GNUNET_MESSAGE_TYPE_SETI_RESULT 583
   1836 
   1837 /**
   1838  * Evaluate a set operation
   1839  */
   1840 #define GNUNET_MESSAGE_TYPE_SETI_EVALUATE 584
   1841 
   1842 /**
   1843  * Listen for operation requests
   1844  */
   1845 #define GNUNET_MESSAGE_TYPE_SETI_LISTEN 585
   1846 
   1847 /**
   1848  * Reject a set request.
   1849  */
   1850 #define GNUNET_MESSAGE_TYPE_SETI_REJECT 586
   1851 
   1852 /**
   1853  * Accept an incoming set request
   1854  */
   1855 #define GNUNET_MESSAGE_TYPE_SETI_ACCEPT 587
   1856 
   1857 /**
   1858  * Notify the client of an incoming request from a remote peer
   1859  */
   1860 #define GNUNET_MESSAGE_TYPE_SETI_REQUEST 588
   1861 
   1862 /**
   1863  * Information about the element count for intersection
   1864  */
   1865 #define GNUNET_MESSAGE_TYPE_SETI_P2P_ELEMENT_INFO 591
   1866 
   1867 /**
   1868  * Bloom filter message for intersection exchange started by Bob.
   1869  */
   1870 #define GNUNET_MESSAGE_TYPE_SETI_P2P_BF 592
   1871 
   1872 /**
   1873  * Intersection operation is done.
   1874  */
   1875 #define GNUNET_MESSAGE_TYPE_SETI_P2P_DONE 593
   1876 
   1877 /**
   1878  * Request to begin set intersection operation.
   1879  */
   1880 #define GNUNET_MESSAGE_TYPE_SETI_P2P_OPERATION_REQUEST 594
   1881 
   1882 
   1883 /*******************************************************************************
   1884  * SET message types
   1885  ******************************************************************************/
   1886 
   1887 
   1888 /**
   1889  * Demand the whole element from the other
   1890  * peer, given only the hash code.
   1891  */
   1892 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_REQUEST_FULL 565
   1893 
   1894 /**
   1895  * Demand the whole element from the other
   1896  * peer, given only the hash code.
   1897  */
   1898 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_DEMAND 566
   1899 
   1900 /**
   1901  * Tell the other peer to send us a list of
   1902  * hashes that match an IBF key.
   1903  */
   1904 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_INQUIRY 567
   1905 
   1906 /**
   1907  * Tell the other peer which hashes match a
   1908  * given IBF key.
   1909  */
   1910 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_OFFER 568
   1911 
   1912 /**
   1913  * Reject a set request.
   1914  */
   1915 #define GNUNET_MESSAGE_TYPE_SET_REJECT 569
   1916 
   1917 /**
   1918  * Cancel a set operation
   1919  */
   1920 #define GNUNET_MESSAGE_TYPE_SET_CANCEL 570
   1921 
   1922 /**
   1923  * Acknowledge result from iteration
   1924  */
   1925 #define GNUNET_MESSAGE_TYPE_SET_ITER_ACK 571
   1926 
   1927 /**
   1928  * Create an empty set
   1929  */
   1930 #define GNUNET_MESSAGE_TYPE_SET_RESULT 572
   1931 
   1932 /**
   1933  * Add element to set
   1934  */
   1935 #define GNUNET_MESSAGE_TYPE_SET_ADD 573
   1936 
   1937 /**
   1938  * Remove element from set
   1939  */
   1940 #define GNUNET_MESSAGE_TYPE_SET_REMOVE 574
   1941 
   1942 /**
   1943  * Listen for operation requests
   1944  */
   1945 #define GNUNET_MESSAGE_TYPE_SET_LISTEN 575
   1946 
   1947 /**
   1948  * Accept a set request
   1949  */
   1950 #define GNUNET_MESSAGE_TYPE_SET_ACCEPT 576
   1951 
   1952 /**
   1953  * Evaluate a set operation
   1954  */
   1955 #define GNUNET_MESSAGE_TYPE_SET_EVALUATE 577
   1956 
   1957 /**
   1958  * Start a set operation with the given set
   1959  */
   1960 #define GNUNET_MESSAGE_TYPE_SET_CONCLUDE 578
   1961 
   1962 /**
   1963  * Notify the client of a request from a remote peer
   1964  */
   1965 #define GNUNET_MESSAGE_TYPE_SET_REQUEST 579
   1966 
   1967 /**
   1968  * Create a new local set
   1969  */
   1970 #define GNUNET_MESSAGE_TYPE_SET_CREATE 580
   1971 
   1972 /**
   1973  * Request a set operation from a remote peer.
   1974  */
   1975 #define GNUNET_MESSAGE_TYPE_SET_P2P_OPERATION_REQUEST 581
   1976 
   1977 /**
   1978  * Strata estimator.
   1979  */
   1980 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_SE 582
   1981 
   1982 /**
   1983  * Invertible bloom filter.
   1984  */
   1985 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_IBF 583
   1986 
   1987 /**
   1988  * Actual set elements.
   1989  */
   1990 #define GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENTS 584
   1991 
   1992 /**
   1993  * Set operation is done.
   1994  */
   1995 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_DONE 586
   1996 
   1997 /**
   1998  * Start iteration over set elements.
   1999  */
   2000 #define GNUNET_MESSAGE_TYPE_SET_ITER_REQUEST 587
   2001 
   2002 /**
   2003  * Element result for the iterating client.
   2004  */
   2005 #define GNUNET_MESSAGE_TYPE_SET_ITER_ELEMENT 588
   2006 
   2007 /**
   2008  * Iteration end marker for the client.
   2009  */
   2010 #define GNUNET_MESSAGE_TYPE_SET_ITER_DONE 589
   2011 
   2012 /**
   2013  * Compressed strata estimator.
   2014  */
   2015 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_SEC 590
   2016 
   2017 /**
   2018  * Information about the element count for intersection
   2019  */
   2020 #define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_ELEMENT_INFO 591
   2021 
   2022 /**
   2023  * Bloom filter message for intersection exchange started by Bob.
   2024  */
   2025 #define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_BF 592
   2026 
   2027 /**
   2028  * Intersection operation is done.
   2029  */
   2030 #define GNUNET_MESSAGE_TYPE_SET_INTERSECTION_P2P_DONE 593
   2031 
   2032 /**
   2033  * Ask the set service to prepare a copy of a set.
   2034  */
   2035 #define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_PREPARE 594
   2036 
   2037 /**
   2038  * Give the client an ID for connecting to the set's copy.
   2039  */
   2040 #define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_RESPONSE 595
   2041 
   2042 /**
   2043  * Sent by the client to the server to connect to an existing,
   2044  * lazily copied set.
   2045  */
   2046 #define GNUNET_MESSAGE_TYPE_SET_COPY_LAZY_CONNECT 596
   2047 
   2048 /**
   2049  * Request all missing elements from the other peer,
   2050  * based on their sets and the elements we previously sent
   2051  * with #GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENTS.
   2052  */
   2053 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_FULL_DONE 597
   2054 
   2055 /**
   2056  * Send a set element, not as response to a demand but because
   2057  * we're sending the full set.
   2058  */
   2059 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_FULL_ELEMENT 598
   2060 
   2061 /**
   2062  * Request all missing elements from the other peer,
   2063  * based on their sets and the elements we previously sent
   2064  * with #GNUNET_MESSAGE_TYPE_SET_P2P_ELEMENTS.
   2065  */
   2066 #define GNUNET_MESSAGE_TYPE_SET_UNION_P2P_OVER 599
   2067 
   2068 
   2069 /*******************************************************************************
   2070  * TESTBED LOGGER message types
   2071  ******************************************************************************/
   2072 
   2073 /**
   2074  * Message for TESTBED LOGGER
   2075  */
   2076 #define GNUNET_MESSAGE_TYPE_TESTBED_LOGGER_MSG 600
   2077 
   2078 /**
   2079  * Message for TESTBED LOGGER acknowledgement
   2080  */
   2081 #define GNUNET_MESSAGE_TYPE_TESTBED_LOGGER_ACK 601
   2082 
   2083 
   2084 /**
   2085  * Advertise regex capability.
   2086  */
   2087 #define GNUNET_MESSAGE_TYPE_REGEX_ANNOUNCE 620
   2088 
   2089 /**
   2090  * Search for peer with matching capability.
   2091  */
   2092 #define GNUNET_MESSAGE_TYPE_REGEX_SEARCH 621
   2093 
   2094 /**
   2095  * Result in response to regex search.
   2096  */
   2097 #define GNUNET_MESSAGE_TYPE_REGEX_RESULT 622
   2098 
   2099 /*******************************************************************************
   2100  * IDENTITY message types
   2101  ******************************************************************************/
   2102 
   2103 /**
   2104  * First message send from identity client to service (to subscribe to
   2105  * updates).
   2106  */
   2107 #define GNUNET_MESSAGE_TYPE_IDENTITY_START 624
   2108 
   2109 /**
   2110  * Generic response from identity service with success and/or error message.
   2111  */
   2112 #define GNUNET_MESSAGE_TYPE_IDENTITY_RESULT_CODE 625
   2113 
   2114 /**
   2115  * Update about identity status from service to clients.
   2116  */
   2117 #define GNUNET_MESSAGE_TYPE_IDENTITY_UPDATE 626
   2118 
   2119 /**
   2120  * 627 and 628 unused
   2121  */
   2122 
   2123 /**
   2124  * Create new identity (client->service).
   2125  */
   2126 #define GNUNET_MESSAGE_TYPE_IDENTITY_CREATE 629
   2127 
   2128 /**
   2129  * Rename existing identity (client->service).
   2130  */
   2131 #define GNUNET_MESSAGE_TYPE_IDENTITY_RENAME 630
   2132 
   2133 /**
   2134  * Delete identity (client->service).
   2135  */
   2136 #define GNUNET_MESSAGE_TYPE_IDENTITY_DELETE 631
   2137 
   2138 /**
   2139  * First message send from identity client to service to
   2140  * lookup a single ego.  The service will respond with a
   2141  * #GNUNET_MESSAGE_TYPE_IDENTITY_UPDATE message if the ego
   2142  * exists, or a #GNUNET_MESSAGE_TYPE_IDENTITY_RESULT_CODE if not.
   2143  */
   2144 #define GNUNET_MESSAGE_TYPE_IDENTITY_LOOKUP 632
   2145 
   2146 /**
   2147  * First message send from identity client to service to lookup a
   2148  * single ego matching the given suffix (longest match).  The service
   2149  * will respond with a #GNUNET_MESSAGE_TYPE_IDENTITY_UPDATE message if
   2150  * the ego exists, or a #GNUNET_MESSAGE_TYPE_IDENTITY_RESULT_CODE if
   2151  * not.
   2152  */
   2153 #define GNUNET_MESSAGE_TYPE_IDENTITY_LOOKUP_BY_SUFFIX 633
   2154 
   2155 
   2156 /*******************************************************************************
   2157  * REVOCATION message types
   2158  ******************************************************************************/
   2159 
   2160 /**
   2161  * Client to service: was this key revoked?
   2162  */
   2163 #define GNUNET_MESSAGE_TYPE_REVOCATION_QUERY 636
   2164 
   2165 /**
   2166  * Service to client: answer if key was revoked!
   2167  */
   2168 #define GNUNET_MESSAGE_TYPE_REVOCATION_QUERY_RESPONSE 637
   2169 
   2170 /**
   2171  * Client to service OR peer-to-peer: revoke this key!
   2172  */
   2173 #define GNUNET_MESSAGE_TYPE_REVOCATION_REVOKE 638
   2174 
   2175 /**
   2176  * Service to client: revocation confirmed
   2177  */
   2178 #define GNUNET_MESSAGE_TYPE_REVOCATION_REVOKE_RESPONSE 639
   2179 
   2180 
   2181 /*******************************************************************************
   2182  * SCALARPRODUCT message types
   2183  ******************************************************************************/
   2184 
   2185 /**
   2186  * Client -> Alice
   2187  */
   2188 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_TO_ALICE 640
   2189 
   2190 /**
   2191  * Client -> Bob
   2192  */
   2193 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_TO_BOB 641
   2194 
   2195 /**
   2196  * Client -> Alice multipart
   2197  */
   2198 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_MULTIPART_ALICE 642
   2199 
   2200 /**
   2201  * Client -> Bob multipart
   2202  */
   2203 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_CLIENT_MULTIPART_BOB 643
   2204 
   2205 /**
   2206  * Alice -> Bob session initialization
   2207  */
   2208 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_SESSION_INITIALIZATION 644
   2209 
   2210 /**
   2211  * Alice -> Bob SP crypto-data (after intersection)
   2212  */
   2213 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ALICE_CRYPTODATA 645
   2214 
   2215 /**
   2216  * Bob -> Alice SP crypto-data
   2217  */
   2218 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA 647
   2219 
   2220 /**
   2221  * Bob -> Alice SP crypto-data multipart
   2222  */
   2223 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_BOB_CRYPTODATA_MULTIPART 648
   2224 
   2225 /**
   2226  * Alice/Bob -> Client Result
   2227  */
   2228 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_RESULT 649
   2229 
   2230 /**
   2231  * Alice -> Bob ECC session initialization
   2232  */
   2233 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_SESSION_INITIALIZATION 650
   2234 
   2235 /**
   2236  * Alice -> Bob ECC crypto data
   2237  */
   2238 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_ALICE_CRYPTODATA 651
   2239 
   2240 /**
   2241  * Bob -> Alice ECC crypto data
   2242  */
   2243 #define GNUNET_MESSAGE_TYPE_SCALARPRODUCT_ECC_BOB_CRYPTODATA 652
   2244 
   2245 
   2246 /*******************************************************************************
   2247  * PSYCSTORE message types
   2248  ******************************************************************************/
   2249 
   2250 /**
   2251  * Store a membership event.
   2252  */
   2253 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_MEMBERSHIP_STORE 660
   2254 
   2255 /**
   2256  * Test for membership of a member at a particular point in time.
   2257  */
   2258 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_MEMBERSHIP_TEST 661
   2259 
   2260 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_FRAGMENT_STORE 662
   2261 
   2262 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_FRAGMENT_GET 663
   2263 
   2264 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_MESSAGE_GET 664
   2265 
   2266 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_MESSAGE_GET_FRAGMENT 665
   2267 
   2268 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_COUNTERS_GET 666
   2269 
   2270 /* 657 */
   2271 
   2272 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_MODIFY 668
   2273 
   2274 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_SYNC 669
   2275 
   2276 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_RESET 670
   2277 
   2278 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_HASH_UPDATE 671
   2279 
   2280 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_GET 672
   2281 
   2282 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_STATE_GET_PREFIX 673
   2283 
   2284 /**
   2285  * Generic response from PSYCstore service with success and/or error message.
   2286  */
   2287 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_CODE 674
   2288 
   2289 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_FRAGMENT 675
   2290 
   2291 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_COUNTERS 676
   2292 
   2293 #define GNUNET_MESSAGE_TYPE_PSYCSTORE_RESULT_STATE 677
   2294 
   2295 
   2296 /*******************************************************************************
   2297  * PSYC message types
   2298  ******************************************************************************/
   2299 
   2300 /**
   2301  * C: client
   2302  * S: service
   2303  * M: multicast
   2304  */
   2305 
   2306 /** S->C: result of an operation */
   2307 #define GNUNET_MESSAGE_TYPE_PSYC_RESULT_CODE 680
   2308 
   2309 /** C->S: request to start a channel as a master */
   2310 #define GNUNET_MESSAGE_TYPE_PSYC_MASTER_START 681
   2311 
   2312 /** S->C: master start acknowledgement */
   2313 #define GNUNET_MESSAGE_TYPE_PSYC_MASTER_START_ACK 682
   2314 
   2315 /** C->S: request to join a channel as a slave */
   2316 #define GNUNET_MESSAGE_TYPE_PSYC_SLAVE_JOIN 683
   2317 
   2318 /** S->C: slave join acknowledgement */
   2319 #define GNUNET_MESSAGE_TYPE_PSYC_SLAVE_JOIN_ACK 684
   2320 
   2321 /** C->S: request to part from a channel */
   2322 #define GNUNET_MESSAGE_TYPE_PSYC_PART_REQUEST 685
   2323 
   2324 /** S->C: acknowledgement that a slave of master parted from a channel */
   2325 #define GNUNET_MESSAGE_TYPE_PSYC_PART_ACK 686
   2326 
   2327 /** M->S->C: incoming join request from multicast */
   2328 #define GNUNET_MESSAGE_TYPE_PSYC_JOIN_REQUEST 687
   2329 
   2330 /** C->S->M: decision about a join request */
   2331 #define GNUNET_MESSAGE_TYPE_PSYC_JOIN_DECISION 688
   2332 
   2333 
   2334 /** C->S: request to add/remove channel slave in the membership database. */
   2335 #define GNUNET_MESSAGE_TYPE_PSYC_CHANNEL_MEMBERSHIP_STORE 689
   2336 
   2337 /* 690 */
   2338 
   2339 /** S<--C: PSYC message which contains one or more message parts. */
   2340 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE 691
   2341 
   2342 /** M<->S<->C: PSYC message which contains a header and one or more message
   2343  * parts. */
   2344 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_HEADER \
   2345         692 // FIXME: start using this where appropriate
   2346 
   2347 /** Message part: method */
   2348 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_METHOD 693
   2349 
   2350 /** Message part: modifier */
   2351 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_MODIFIER 694
   2352 
   2353 /** Message part: modifier continuation */
   2354 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_MOD_CONT 695
   2355 
   2356 /** Message part: data */
   2357 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_DATA 696
   2358 
   2359 /** Message part: end of message */
   2360 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_END 697
   2361 
   2362 /** Message part: message cancelled */
   2363 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_CANCEL 698
   2364 
   2365 /** S->C: message acknowledgement */
   2366 #define GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_ACK 699
   2367 
   2368 /* 700 */
   2369 
   2370 /** C->S: request channel history replay from PSYCstore. */
   2371 #define GNUNET_MESSAGE_TYPE_PSYC_HISTORY_REPLAY 701
   2372 
   2373 /** S->C: result for a channel history request */
   2374 #define GNUNET_MESSAGE_TYPE_PSYC_HISTORY_RESULT 702
   2375 
   2376 
   2377 /** C->S: request best matching state variable from PSYCstore. */
   2378 #define GNUNET_MESSAGE_TYPE_PSYC_STATE_GET 703
   2379 
   2380 /** C->S: request state variables with a given prefix from PSYCstore. */
   2381 #define GNUNET_MESSAGE_TYPE_PSYC_STATE_GET_PREFIX 704
   2382 
   2383 /** S->C: result for a state request. */
   2384 #define GNUNET_MESSAGE_TYPE_PSYC_STATE_RESULT 705
   2385 
   2386 
   2387 /*******************************************************************************
   2388  * CONVERSATION message types
   2389  ******************************************************************************/
   2390 
   2391 /**
   2392  * Message to transmit the audio between helper and speaker/microphone library.
   2393  */
   2394 #define GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO 730
   2395 
   2396 /**
   2397  * Client -> Server message to register a phone.
   2398  */
   2399 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_REGISTER 731
   2400 
   2401 /**
   2402  * Client -> Server message to reject/hangup a call
   2403  */
   2404 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_PICK_UP 732
   2405 
   2406 /**
   2407  * Client -> Server message to reject/hangup a call
   2408  */
   2409 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_HANG_UP 733
   2410 
   2411 /**
   2412  * Client <- Server message to indicate a ringing phone
   2413  */
   2414 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_CALL 734
   2415 
   2416 /**
   2417  * Client <- Server message to indicate a ringing phone
   2418  */
   2419 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_RING 735
   2420 
   2421 /**
   2422  * Client <-> Server message to suspend connection.
   2423  */
   2424 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_SUSPEND 736
   2425 
   2426 /**
   2427  * Client <-> Server message to resume connection.
   2428  */
   2429 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_RESUME 737
   2430 
   2431 /**
   2432  * Service -> Client message to notify that phone was picked up.
   2433  */
   2434 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_PICKED_UP 738
   2435 
   2436 /**
   2437  * Client <-> Server message to send audio data.
   2438  */
   2439 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_AUDIO 739
   2440 
   2441 /**
   2442  * Cadet: call initiation
   2443  */
   2444 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_RING 740
   2445 
   2446 /**
   2447  * Cadet: hang up / refuse call
   2448  */
   2449 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_HANG_UP 741
   2450 
   2451 /**
   2452  * Cadet: pick up phone (establish audio channel)
   2453  */
   2454 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_PICK_UP 742
   2455 
   2456 /**
   2457  * Cadet: phone suspended.
   2458  */
   2459 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_SUSPEND 743
   2460 
   2461 /**
   2462  * Cadet: phone resumed.
   2463  */
   2464 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_PHONE_RESUME 744
   2465 
   2466 /**
   2467  * Cadet: audio data
   2468  */
   2469 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CADET_AUDIO 745
   2470 
   2471 
   2472 /*******************************************************************************
   2473  * MULTICAST message types
   2474  ******************************************************************************/
   2475 
   2476 /**
   2477  * C: client
   2478  * S: service
   2479  * T: cadet
   2480  */
   2481 
   2482 /**
   2483  * C->S: Start the origin.
   2484  */
   2485 #define GNUNET_MESSAGE_TYPE_MULTICAST_ORIGIN_START 750
   2486 
   2487 /**
   2488  * C->S: Join group as a member.
   2489  */
   2490 #define GNUNET_MESSAGE_TYPE_MULTICAST_MEMBER_JOIN 751
   2491 
   2492 /**
   2493  * C<--S<->T: A peer wants to join the group.
   2494  *
   2495  * Unicast message to the origin or another group member.
   2496  */
   2497 #define GNUNET_MESSAGE_TYPE_MULTICAST_JOIN_REQUEST 752
   2498 
   2499 /**
   2500  * C<->S<->T: Response to a join request.
   2501  *
   2502  * Unicast message from a group member to the peer wanting to join.
   2503  */
   2504 #define GNUNET_MESSAGE_TYPE_MULTICAST_JOIN_DECISION 753
   2505 
   2506 /**
   2507  * A peer wants to part the group.
   2508  */
   2509 #define GNUNET_MESSAGE_TYPE_MULTICAST_PART_REQUEST 754
   2510 
   2511 /**
   2512  * Acknowledgement sent in response to a part request.
   2513  *
   2514  * Unicast message from a group member to the peer wanting to part.
   2515  */
   2516 #define GNUNET_MESSAGE_TYPE_MULTICAST_PART_ACK 755
   2517 
   2518 // FIXME: this is never used!
   2519 /**
   2520  * Group terminated.
   2521  */
   2522 #define GNUNET_MESSAGE_TYPE_MULTICAST_GROUP_END 756
   2523 
   2524 /**
   2525  * C<->S<->T: Multicast message from the origin to all members.
   2526  */
   2527 #define GNUNET_MESSAGE_TYPE_MULTICAST_MESSAGE 757
   2528 
   2529 /**
   2530  * C<->S<->T: Unicast request from a group member to the origin.
   2531  */
   2532 #define GNUNET_MESSAGE_TYPE_MULTICAST_REQUEST 758
   2533 
   2534 /**
   2535  * C->S: Acknowledgement of a message or request fragment for the client.
   2536  */
   2537 #define GNUNET_MESSAGE_TYPE_MULTICAST_FRAGMENT_ACK 759
   2538 
   2539 /**
   2540  * C<->S<->T: Replay request from a group member to another member.
   2541  */
   2542 #define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_REQUEST 760
   2543 
   2544 /**
   2545  * C<->S<->T: Replay response from a group member to another member.
   2546  */
   2547 #define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_RESPONSE 761
   2548 
   2549 /**
   2550  * C<->S: End of replay response.
   2551  */
   2552 #define GNUNET_MESSAGE_TYPE_MULTICAST_REPLAY_RESPONSE_END 762
   2553 
   2554 
   2555 /*******************************************************************************
   2556  * SECRETSHARING message types
   2557  ******************************************************************************/
   2558 
   2559 
   2560 /**
   2561  * Establish a new session.
   2562  */
   2563 #define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_GENERATE 780
   2564 
   2565 /**
   2566  * Request the decryption of a ciphertext.
   2567  */
   2568 #define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_DECRYPT 781
   2569 
   2570 /**
   2571  * The service succeeded in decrypting a ciphertext.
   2572  */
   2573 #define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_DECRYPT_DONE 782
   2574 
   2575 /**
   2576  * The cryptosystem has been established.
   2577  * Contains the peer's share.
   2578  */
   2579 #define GNUNET_MESSAGE_TYPE_SECRETSHARING_CLIENT_SECRET_READY 783
   2580 
   2581 
   2582 /*******************************************************************************
   2583  * PEERSTORE message types
   2584  ******************************************************************************/
   2585 
   2586 /**
   2587  * Store request message
   2588  */
   2589 #define GNUNET_MESSAGE_TYPE_PEERSTORE_STORE 820
   2590 
   2591 /**
   2592  * Iteration request (see also 828, 829)
   2593  */
   2594 #define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_START 821
   2595 
   2596 /**
   2597  * Record result message
   2598  */
   2599 #define GNUNET_MESSAGE_TYPE_PEERSTORE_RECORD 822
   2600 
   2601 /**
   2602  * Iteration end message
   2603  */
   2604 #define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_END 823
   2605 
   2606 /**
   2607  * Monitor request
   2608  */
   2609 #define GNUNET_MESSAGE_TYPE_PEERSTORE_MONITOR_START 824
   2610 
   2611 /**
   2612  * Monitor sync
   2613  */
   2614 #define GNUNET_MESSAGE_TYPE_PEERSTORE_MONITOR_SYNC 825
   2615 
   2616 /**
   2617  * Monitor next request
   2618  */
   2619 #define GNUNET_MESSAGE_TYPE_PEERSTORE_MONITOR_NEXT 826
   2620 
   2621 /**
   2622  * Store result message
   2623  */
   2624 #define GNUNET_MESSAGE_TYPE_PEERSTORE_STORE_RESULT 827
   2625 
   2626 /**
   2627  * Iteration request (see also 821, 829)
   2628  */
   2629 #define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_NEXT 828
   2630 
   2631 /**
   2632  * Iteration request (see also 821, 828)
   2633  */
   2634 #define GNUNET_MESSAGE_TYPE_PEERSTORE_ITERATE_STOP 829
   2635 
   2636 /*******************************************************************************
   2637  * SOCIAL message types
   2638  ******************************************************************************/
   2639 
   2640 /**
   2641  * C: client
   2642  * S: service
   2643  * P: PSYC
   2644  */
   2645 
   2646 /** S->C: result of an operation */
   2647 #define GNUNET_MESSAGE_TYPE_SOCIAL_RESULT_CODE 840
   2648 
   2649 /** C->S: request to enter a place as the host */
   2650 #define GNUNET_MESSAGE_TYPE_SOCIAL_HOST_ENTER 841
   2651 
   2652 /** S->C: host enter acknowledgement */
   2653 #define GNUNET_MESSAGE_TYPE_SOCIAL_HOST_ENTER_ACK 842
   2654 
   2655 /** C->S: request to enter a place as a guest */
   2656 #define GNUNET_MESSAGE_TYPE_SOCIAL_GUEST_ENTER 843
   2657 
   2658 /** C->S: request to enter a place as a guest, using a GNS address */
   2659 #define GNUNET_MESSAGE_TYPE_SOCIAL_GUEST_ENTER_BY_NAME 844
   2660 
   2661 /** S->C: guest enter acknowledgement */
   2662 #define GNUNET_MESSAGE_TYPE_SOCIAL_GUEST_ENTER_ACK 845
   2663 
   2664 /** P->S->C: incoming entry request from PSYC */
   2665 #define GNUNET_MESSAGE_TYPE_SOCIAL_ENTRY_REQUEST 846
   2666 
   2667 /** C->S->P: decision about an entry request */
   2668 #define GNUNET_MESSAGE_TYPE_SOCIAL_ENTRY_DECISION 847
   2669 
   2670 /** C->S: request to leave a place */
   2671 #define GNUNET_MESSAGE_TYPE_SOCIAL_PLACE_LEAVE 848
   2672 
   2673 /** S->C: place leave acknowledgement */
   2674 #define GNUNET_MESSAGE_TYPE_SOCIAL_PLACE_LEAVE_ACK 849
   2675 
   2676 /** C->S: add place to GNS zone */
   2677 #define GNUNET_MESSAGE_TYPE_SOCIAL_ZONE_ADD_PLACE 850
   2678 
   2679 /** C->S: add nym to GNS zone */
   2680 #define GNUNET_MESSAGE_TYPE_SOCIAL_ZONE_ADD_NYM 851
   2681 
   2682 /** C->S: connect application */
   2683 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_CONNECT 852
   2684 
   2685 /** C->S: detach a place from application */
   2686 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_DETACH 853
   2687 
   2688 /** S->C: notify about an existing ego */
   2689 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_EGO 854
   2690 
   2691 /** S->C: end of ego list */
   2692 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_EGO_END 855
   2693 
   2694 /** S->C: notify about an existing place */
   2695 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_PLACE 856
   2696 
   2697 /** S->C: end of place list */
   2698 #define GNUNET_MESSAGE_TYPE_SOCIAL_APP_PLACE_END 857
   2699 
   2700 /** C->S: set message processing flags */
   2701 #define GNUNET_MESSAGE_TYPE_SOCIAL_MSG_PROC_SET 858
   2702 
   2703 /** C->S: clear message processing flags */
   2704 #define GNUNET_MESSAGE_TYPE_SOCIAL_MSG_PROC_CLEAR 859
   2705 
   2706 /*******************************************************************************
   2707  * X-VINE DHT messages
   2708  ******************************************************************************/
   2709 
   2710 /**
   2711  * Trail setup request is received by a peer.
   2712  */
   2713 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_TRAIL_SETUP 880
   2714 
   2715 /**
   2716  * Trail to a particular peer is returned to this peer.
   2717  */
   2718 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_TRAIL_SETUP_RESULT 881
   2719 
   2720 /**
   2721  * Verify if your immediate successor is still your immediate successor.
   2722  */
   2723 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_VERIFY_SUCCESSOR 882
   2724 
   2725 /**
   2726  * Notify your new immediate successor that you are its new predecessor.
   2727  */
   2728 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_NOTIFY_NEW_SUCCESSOR 883
   2729 
   2730 /**
   2731  * Message which contains the immediate predecessor of requested successor
   2732  */
   2733 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_VERIFY_SUCCESSOR_RESULT 884
   2734 
   2735 /**
   2736  * Message which contains the get result.
   2737  */
   2738 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_GET_RESULT 885
   2739 
   2740 /**
   2741  * Trail Rejection Message.
   2742  */
   2743 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_TRAIL_SETUP_REJECTION 886
   2744 
   2745 /**
   2746  * Trail Tear down Message.
   2747  */
   2748 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_TRAIL_TEARDOWN 887
   2749 
   2750 /**
   2751  * Routing table add message.
   2752  */
   2753 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_ADD_TRAIL 888
   2754 
   2755 /**
   2756  * Peer is storing the data in DHT.
   2757  */
   2758 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_PUT 890
   2759 
   2760 /**
   2761  * Peer tries to find data in DHT.
   2762  */
   2763 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_GET 891
   2764 
   2765 /**
   2766  * Send back peer that considers you are its successor, a confirmation
   2767  * that you got the notify successor message.
   2768  */
   2769 #define GNUNET_MESSAGE_TYPE_XDHT_P2P_NOTIFY_SUCCESSOR_CONFIRMATION 892
   2770 
   2771 
   2772 /*******************************************************************************
   2773  * Whanau DHT messages
   2774  ******************************************************************************/
   2775 
   2776 
   2777 /**
   2778  * This message contains the query for performing a random walk
   2779  */
   2780 #define GNUNET_MESSAGE_TYPE_WDHT_RANDOM_WALK 910
   2781 
   2782 /**
   2783  * This message contains the result of a random walk
   2784  */
   2785 #define GNUNET_MESSAGE_TYPE_WDHT_RANDOM_WALK_RESPONSE 911
   2786 
   2787 /**
   2788  * This message contains a notification for the death of a trail
   2789  */
   2790 #define GNUNET_MESSAGE_TYPE_WDHT_TRAIL_DESTROY 912
   2791 
   2792 /**
   2793  * This message are used to route a query to a peer
   2794  */
   2795 #define GNUNET_MESSAGE_TYPE_WDHT_TRAIL_ROUTE 913
   2796 
   2797 /**
   2798  * This message contains the query to transfer successor values.
   2799  */
   2800 #define GNUNET_MESSAGE_TYPE_WDHT_SUCCESSOR_FIND 914
   2801 
   2802 /**
   2803  * Message which contains the get query
   2804  */
   2805 #define GNUNET_MESSAGE_TYPE_WDHT_GET 915
   2806 
   2807 /**
   2808  * Message which contains the "put", a response to
   2809  * #GNUNET_MESSAGE_TYPE_WDHT_SUCCESSOR_FIND.
   2810  */
   2811 #define GNUNET_MESSAGE_TYPE_WDHT_PUT 916
   2812 
   2813 /**
   2814  * Message which contains the get result, a response
   2815  * to #GNUNET_MESSAGE_TYPE_WDHT_GET.
   2816  */
   2817 #define GNUNET_MESSAGE_TYPE_WDHT_GET_RESULT 917
   2818 
   2819 
   2820 /*******************************************************************************
   2821  * RPS messages
   2822  ******************************************************************************/
   2823 
   2824 /* P2P Messages */
   2825 
   2826 /**
   2827  * RPS check liveliness message to check liveliness of other peer
   2828  */
   2829 #define GNUNET_MESSAGE_TYPE_RPS_PP_CHECK_LIVE 950
   2830 
   2831 /**
   2832  * RPS PUSH message to push own ID to another peer
   2833  */
   2834 #define GNUNET_MESSAGE_TYPE_RPS_PP_PUSH 951
   2835 
   2836 /**
   2837  * RPS PULL REQUEST message to request the local view of another peer
   2838  */
   2839 #define GNUNET_MESSAGE_TYPE_RPS_PP_PULL_REQUEST 952
   2840 
   2841 /**
   2842  * RPS PULL REPLY message which contains the view of the other peer
   2843  */
   2844 #define GNUNET_MESSAGE_TYPE_RPS_PP_PULL_REPLY 953
   2845 
   2846 
   2847 /* Client-Service Messages */
   2848 
   2849 
   2850 /**
   2851  * RPS CS SEED Message for the Client to seed peers into rps
   2852  */
   2853 #define GNUNET_MESSAGE_TYPE_RPS_CS_SEED 954
   2854 
   2855 #ifndef ENABLE_MALICIOUS
   2856 #define ENABLE_MALICIOUS 0
   2857 #endif
   2858 
   2859 #if ENABLE_MALICIOUS
   2860 /**
   2861  * Turn RPS service malicious
   2862  */
   2863 #define GNUNET_MESSAGE_TYPE_RPS_ACT_MALICIOUS 955
   2864 
   2865 #endif /* ENABLE_MALICIOUS */
   2866 
   2867 /**
   2868  * RPS client-service message to start a sub sampler
   2869  */
   2870 #define GNUNET_MESSAGE_TYPE_RPS_CS_SUB_START 956
   2871 
   2872 /**
   2873  * RPS client-service message to stop a sub sampler
   2874  */
   2875 #define GNUNET_MESSAGE_TYPE_RPS_CS_SUB_STOP 957
   2876 
   2877 /* Debugging API continues at 1130 */
   2878 
   2879 /******************************************************************************/
   2880 
   2881 
   2882 /**************************************************
   2883  *
   2884  * IDENTITY PROVIDER MESSAGE TYPES
   2885  */
   2886 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_STORE 961
   2887 
   2888 #define GNUNET_MESSAGE_TYPE_RECLAIM_SUCCESS_RESPONSE 962
   2889 
   2890 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_ITERATION_START 963
   2891 
   2892 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_ITERATION_STOP 964
   2893 
   2894 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_ITERATION_NEXT 965
   2895 
   2896 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_RESULT 966
   2897 
   2898 #define GNUNET_MESSAGE_TYPE_RECLAIM_ISSUE_TICKET 967
   2899 
   2900 #define GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_RESULT 968
   2901 
   2902 #define GNUNET_MESSAGE_TYPE_RECLAIM_REVOKE_TICKET 969
   2903 
   2904 #define GNUNET_MESSAGE_TYPE_RECLAIM_REVOKE_TICKET_RESULT 970
   2905 
   2906 #define GNUNET_MESSAGE_TYPE_RECLAIM_CONSUME_TICKET 971
   2907 
   2908 #define GNUNET_MESSAGE_TYPE_RECLAIM_CONSUME_TICKET_RESULT 972
   2909 
   2910 #define GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_ITERATION_START 973
   2911 
   2912 #define GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_ITERATION_STOP 974
   2913 
   2914 #define GNUNET_MESSAGE_TYPE_RECLAIM_TICKET_ITERATION_NEXT 975
   2915 
   2916 #define GNUNET_MESSAGE_TYPE_RECLAIM_ATTRIBUTE_DELETE 976
   2917 
   2918 #define GNUNET_MESSAGE_TYPE_RECLAIM_CREDENTIAL_STORE 977
   2919 
   2920 #define GNUNET_MESSAGE_TYPE_RECLAIM_CREDENTIAL_DELETE 978
   2921 
   2922 #define GNUNET_MESSAGE_TYPE_RECLAIM_CREDENTIAL_RESULT 979
   2923 
   2924 #define GNUNET_MESSAGE_TYPE_RECLAIM_CREDENTIAL_ITERATION_START 980
   2925 
   2926 #define GNUNET_MESSAGE_TYPE_RECLAIM_CREDENTIAL_ITERATION_STOP 981
   2927 
   2928 #define GNUNET_MESSAGE_TYPE_RECLAIM_CREDENTIAL_ITERATION_NEXT 982
   2929 
   2930 
   2931 /**************************************************
   2932  *
   2933  * ABD MESSAGE TYPES
   2934  */
   2935 #define GNUNET_MESSAGE_TYPE_ABD_VERIFY 991
   2936 
   2937 #define GNUNET_MESSAGE_TYPE_ABD_VERIFY_RESULT 992
   2938 
   2939 #define GNUNET_MESSAGE_TYPE_ABD_COLLECT 993
   2940 
   2941 #define GNUNET_MESSAGE_TYPE_ABD_COLLECT_RESULT 994
   2942 
   2943 #define GNUNET_MESSAGE_TYPE_ABD_INTERMEDIATE_RESULT 995
   2944 
   2945 /******************************************************************************/
   2946 
   2947 
   2948 /******************************************************************************/
   2949 /***********************************  CADET  **********************************/
   2950 /******************************************************************************/
   2951 /* CADET: message types 1000-1059
   2952  * 1000-1009 Connection-level Messages
   2953  * 1010-1019 Channel-level Messages
   2954  * 1020-1029 Local Client-Service
   2955  * 1030-1049 Local Service Monitoring
   2956  * 1050-1059 Application Data
   2957  */
   2958 
   2959 /********************************  Connection  ********************************/
   2960 
   2961 /**
   2962  * Request the creation of a connection
   2963  */
   2964 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_CREATE 1000
   2965 
   2966 /**
   2967  * Send origin an ACK that the connection is complete
   2968  */
   2969 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_CREATE_ACK 1001
   2970 
   2971 /**
   2972  * Notify that a connection is no longer valid
   2973  */
   2974 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_BROKEN 1002
   2975 
   2976 /**
   2977  * Request the destruction of a connection
   2978  */
   2979 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_DESTROY 1003
   2980 
   2981 /**
   2982  * At some point, the route will spontaneously change TODO
   2983  */
   2984 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_PATH_CHANGED_UNIMPLEMENTED 1004
   2985 
   2986 /**
   2987  * Hop-by-hop, connection dependent ACK.
   2988  *
   2989  * @deprecated
   2990  */
   2991 #define GNUNET_MESSAGE_TYPE_CADET_CONNECTION_HOP_BY_HOP_ENCRYPTED_ACK 1005
   2992 
   2993 /**
   2994  * We do not bother with ACKs for
   2995  * #GNUNET_MESSAGE_TYPE_CADET_TUNNEL_ENCRYPTED messages, but we instead
   2996  * poll for one if we got nothing for a while and start to be worried.
   2997  *
   2998  * @deprecated
   2999  */
   3000 #define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_ENCRYPTED_POLL 1006
   3001 
   3002 /**
   3003  * Axolotl key exchange.
   3004  */
   3005 #define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_KX 1007
   3006 
   3007 /**
   3008  * Axolotl encrypted data.
   3009  */
   3010 #define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_ENCRYPTED 1008
   3011 
   3012 /**
   3013  * Axolotl key exchange response with authentication.
   3014  */
   3015 #define GNUNET_MESSAGE_TYPE_CADET_TUNNEL_KX_AUTH 1009
   3016 
   3017 
   3018 /**********************************  Channel  *********************************/
   3019 
   3020 /**
   3021  * Payload data (inside an encrypted tunnel).
   3022  */
   3023 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_APP_DATA 1010
   3024 
   3025 /**
   3026  * Confirm payload data end-to-end.
   3027  */
   3028 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_APP_DATA_ACK 1011
   3029 
   3030 /**
   3031  * Announce connection is still alive (direction sensitive).
   3032  */
   3033 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_KEEPALIVE 1012
   3034 
   3035 /**
   3036  * Ask the cadet service to create a new channel.
   3037  */
   3038 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN 1013
   3039 
   3040 /**
   3041  * Ask the cadet service to destroy a channel.
   3042  */
   3043 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_DESTROY 1014
   3044 
   3045 /**
   3046  * Confirm the creation of a channel
   3047  */
   3048 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN_ACK 1015
   3049 
   3050 /**
   3051  * Reject the creation of a channel
   3052  *
   3053  * @deprecated
   3054  */
   3055 #define GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN_NACK_DEPRECATED 1016
   3056 
   3057 /***********************************  Local  **********************************/
   3058 
   3059 /**
   3060  * Payload client <-> service
   3061  */
   3062 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_DATA 1020
   3063 
   3064 /**
   3065  * Local ACK for data.
   3066  */
   3067 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_ACK 1021
   3068 
   3069 /**
   3070  * Start listening on a port.
   3071  */
   3072 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_OPEN 1022
   3073 
   3074 /**
   3075  * Stop listening on a port.
   3076  */
   3077 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_CLOSE 1023
   3078 
   3079 /**
   3080  * Ask the cadet service to create a new channel.
   3081  */
   3082 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_CHANNEL_CREATE 1024
   3083 
   3084 /**
   3085  * Tell client that a channel was destroyed.
   3086  */
   3087 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_CHANNEL_DESTROY 1025
   3088 
   3089 /**********************************  Monitor  *********************************/
   3090 
   3091 
   3092 /**
   3093  * Local information about all channels of service.
   3094  */
   3095 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_CHANNEL 1030
   3096 
   3097 /**
   3098  * Local information of service about a specific channel.
   3099  */
   3100 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNEL 1031
   3101 
   3102 /**
   3103  * End of local information of service about channels.
   3104  */
   3105 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_CHANNEL_END 1032
   3106 
   3107 /**
   3108  * Request local information about all peers known to the service.
   3109  */
   3110 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_PEERS 1033
   3111 
   3112 /**
   3113  * Local information about all peers known to the service.
   3114  */
   3115 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEERS 1034
   3116 
   3117 /**
   3118  * End of local information about all peers known to the service.
   3119  */
   3120 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PEERS_END 1035
   3121 
   3122 /**
   3123  * Request local information of service about paths to specific peer.
   3124  */
   3125 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_PATH 1036
   3126 
   3127 /**
   3128  * Local information of service about a specific path.
   3129  */
   3130 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PATH 1037
   3131 
   3132 /**
   3133  * End of local information of service about a specific path.
   3134  */
   3135 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_PATH_END 1038
   3136 
   3137 /**
   3138  * Request local information about all tunnels of service.
   3139  */
   3140 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_REQUEST_INFO_TUNNELS 1039
   3141 
   3142 /**
   3143  * Local information about all tunnels of service.
   3144  */
   3145 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNELS 1040
   3146 
   3147 /**
   3148  * End of local information about all tunnels of service.
   3149  */
   3150 #define GNUNET_MESSAGE_TYPE_CADET_LOCAL_INFO_TUNNELS_END 1041
   3151 
   3152 /**
   3153  * Request to drop a message of type X to peer y.
   3154  */
   3155 #define GNUNET_MESSAGE_TYPE_CADET_DROP_CADET_MESSAGE 1042
   3156 
   3157 
   3158 /********************************  Application  *******************************/
   3159 
   3160 /**
   3161  * Traffic (net-cat style) used by the Command Line Interface.
   3162  */
   3163 #define GNUNET_MESSAGE_TYPE_CADET_CLI 1059
   3164 
   3165 /******************************************************************************/
   3166 
   3167 
   3168 /******************************************************************************/
   3169 /*************************************  NAT  **********************************/
   3170 /******************************************************************************/
   3171 
   3172 /**
   3173  * Message to ask NAT service to register a client.
   3174  */
   3175 #define GNUNET_MESSAGE_TYPE_NAT_REGISTER 1060
   3176 
   3177 /**
   3178  * Message to ask NAT service to handle a STUN packet.
   3179  */
   3180 #define GNUNET_MESSAGE_TYPE_NAT_HANDLE_STUN 1061
   3181 
   3182 /**
   3183  * Message to ask NAT service to request connection reversal.
   3184  */
   3185 #define GNUNET_MESSAGE_TYPE_NAT_REQUEST_CONNECTION_REVERSAL 1062
   3186 
   3187 /**
   3188  * Message to from NAT service notifying us that connection reversal
   3189  * was requested by another peer.
   3190  */
   3191 #define GNUNET_MESSAGE_TYPE_NAT_CONNECTION_REVERSAL_REQUESTED 1063
   3192 
   3193 /**
   3194  * Message to from NAT service notifying us that one of our
   3195  * addresses changed.
   3196  */
   3197 #define GNUNET_MESSAGE_TYPE_NAT_ADDRESS_CHANGE 1064
   3198 
   3199 /**
   3200  * Message to ask NAT service to notify all clients about a new global address.
   3201  */
   3202 #define GNUNET_MESSAGE_TYPE_NAT_ADD_GLOBAL_ADDRESS 1065
   3203 
   3204 /**
   3205  * Message to ask NAT service to request autoconfiguration.
   3206  */
   3207 #define GNUNET_MESSAGE_TYPE_NAT_AUTO_REQUEST_CFG 1067
   3208 
   3209 /**
   3210  * Message from NAT service with the autoconfiguration result.
   3211  */
   3212 #define GNUNET_MESSAGE_TYPE_NAT_AUTO_CFG_RESULT 1068
   3213 
   3214 
   3215 /* 1080-1109 reserved for TMCG (Heiko Stamer, see gnunet-developers, January
   3216  * 2017) */
   3217 
   3218 
   3219 /******************************************************************************/
   3220 /***********************************  AUCTION  ********************************/
   3221 /******************************************************************************/
   3222 
   3223 /**
   3224  * Client wants to create a new auction.
   3225  */
   3226 #define GNUNET_MESSAGE_TYPE_AUCTION_CLIENT_CREATE 1110
   3227 
   3228 /**
   3229  * Client wants to join an existing auction.
   3230  */
   3231 #define GNUNET_MESSAGE_TYPE_AUCTION_CLIENT_JOIN 1111
   3232 
   3233 /**
   3234  * Service reports the auction outcome to the client.
   3235  */
   3236 #define GNUNET_MESSAGE_TYPE_AUCTION_CLIENT_OUTCOME 1112
   3237 
   3238 
   3239 /******************************************************************************/
   3240 /*********************************  RPS DEBUG  ********************************/
   3241 /******************************************************************************/
   3242 
   3243 /**
   3244  * @brief Request updates of the view
   3245  */
   3246 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_VIEW_REQUEST 1130
   3247 
   3248 /**
   3249  * @brief Send update of the view
   3250  */
   3251 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_VIEW_REPLY 1131
   3252 
   3253 /**
   3254  * @brief Cancel getting updates of the view
   3255  */
   3256 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_VIEW_CANCEL 1132
   3257 
   3258 
   3259 /**
   3260  * @brief Request biased input stream
   3261  */
   3262 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_STREAM_REQUEST 1133
   3263 
   3264 /**
   3265  * @brief Send peer of biased stream
   3266  */
   3267 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_STREAM_REPLY 1134
   3268 
   3269 /**
   3270  * @brief Cancel getting biased stream
   3271  */
   3272 #define GNUNET_MESSAGE_TYPE_RPS_CS_DEBUG_STREAM_CANCEL 1135
   3273 
   3274 
   3275 /*******************************************************
   3276    NEW (TNG) Transport service
   3277  ******************************************************* */
   3278 
   3279 /**
   3280  * @brief inform transport to add an address of this peer
   3281  */
   3282 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADD_ADDRESS 1200
   3283 
   3284 /**
   3285  * @brief inform transport to delete an address of this peer
   3286  */
   3287 #define GNUNET_MESSAGE_TYPE_TRANSPORT_DEL_ADDRESS 1201
   3288 
   3289 /**
   3290  * @brief inform transport about an incoming message
   3291  */
   3292 #define GNUNET_MESSAGE_TYPE_TRANSPORT_INCOMING_MSG 1202
   3293 
   3294 /**
   3295  * @brief transport acknowledges processing an incoming message
   3296  */
   3297 #define GNUNET_MESSAGE_TYPE_TRANSPORT_INCOMING_MSG_ACK 1203
   3298 
   3299 /**
   3300  * @brief inform transport that a queue was setup to talk to some peer
   3301  */
   3302 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_SETUP 1204
   3303 
   3304 /**
   3305  * @brief inform transport that a queue was torn down
   3306  */
   3307 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_TEARDOWN 1205
   3308 
   3309 /**
   3310  * @brief transport tells communicator it wants a queue
   3311  */
   3312 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_CREATE 1206
   3313 
   3314 /**
   3315  * Response from communicator: will try to create queue.
   3316  */
   3317 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_CREATE_OK 1207
   3318 
   3319 /**
   3320  * Response from communicator: address bogus, will not try to create queue.
   3321  */
   3322 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_CREATE_FAIL 1208
   3323 
   3324 /**
   3325  * @brief transport tells communicator it wants to transmit
   3326  */
   3327 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SEND_MSG 1209
   3328 
   3329 /**
   3330  * @brief communicator tells transports that message was sent
   3331  */
   3332 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SEND_MSG_ACK 1210
   3333 
   3334 /**
   3335  * Message sent to indicate to the transport which address
   3336  * prefix is supported by a communicator.
   3337  */
   3338 #define GNUNET_MESSAGE_TYPE_TRANSPORT_NEW_COMMUNICATOR 1211
   3339 
   3340 /**
   3341  * Tell transport that it should assist with exchanging a
   3342  * message between communicators.  Usually used when
   3343  * communciators are uni-directional and need an alternative
   3344  * back-channel.
   3345  */
   3346 #define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_BACKCHANNEL 1212
   3347 
   3348 /**
   3349  * Message type used between transport services when they
   3350  * internally forward communicator backchannel messages.
   3351  */
   3352 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BACKCHANNEL_ENCAPSULATION 1213
   3353 
   3354 /**
   3355  * Type of a fragment of a CORE message created by transport to adjust
   3356  * message length to a queue's MTU.
   3357  */
   3358 #define GNUNET_MESSAGE_TYPE_TRANSPORT_FRAGMENT 1214
   3359 
   3360 /**
   3361  * Wrapper around non-fragmented CORE message used to measure RTT
   3362  * and ensure reliability.
   3363  */
   3364 #define GNUNET_MESSAGE_TYPE_TRANSPORT_RELIABILITY_BOX 1216
   3365 
   3366 /**
   3367  * Confirmation for a #GNUNET_MESSAGE_TYPE_TRANSPORT_RELIABILITY_BOX.
   3368  */
   3369 #define GNUNET_MESSAGE_TYPE_TRANSPORT_RELIABILITY_ACK 1217
   3370 
   3371 /**
   3372  * Message sent for topology discovery at transport level.
   3373  */
   3374 #define GNUNET_MESSAGE_TYPE_TRANSPORT_DV_LEARN 1218
   3375 
   3376 /**
   3377  * Source-routed transport message based DV information gathered.
   3378  */
   3379 #define GNUNET_MESSAGE_TYPE_TRANSPORT_DV_BOX 1219
   3380 
   3381 /**
   3382  * Transport signalling incoming backchannel message to a communicator.
   3383  */
   3384 #define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_BACKCHANNEL_INCOMING 1220
   3385 
   3386 /**
   3387  * Transport signalling incoming backchannel message to a communicator.
   3388  */
   3389 #define GNUNET_MESSAGE_TYPE_TRANSPORT_FLOW_CONTROL 1221
   3390 
   3391 /**
   3392  * @brief inform transport that a queue was updated
   3393  */
   3394 #define GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_UPDATE 1222
   3395 
   3396 /**
   3397  * Message sent to indicate to the transport that a monitor
   3398  * wants to observe certain events.
   3399  */
   3400 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_START 1250
   3401 
   3402 /**
   3403  * Message sent to indicate to a monitor about events.
   3404  */
   3405 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_DATA 1251
   3406 
   3407 /**
   3408  * Message sent to indicate to a monitor that a one-shot
   3409  * iteration over events is done.
   3410  */
   3411 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_END 1252
   3412 
   3413 /**
   3414  * Burst message we send to another peer for hole punching.
   3415  */
   3416 #define GNUNET_MESSAGE_TYPE_TRANSPORT_START_BURST 1253
   3417 
   3418 /**
   3419  * Burst message we send to another peer for hole punching.
   3420  */
   3421 #define GNUNET_MESSAGE_TYPE_TRANSPORT_BURST_FINISHED 1254
   3422 
   3423 /**
   3424  * Message exchanged between communicators to confirm
   3425  * successful KX (and address validation).
   3426  */
   3427 #define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_KX_CONFIRMATION 1275
   3428 
   3429 /**
   3430  * Message exchanged between communicators to exchange
   3431  * flow control (FC) limits and acknowledgemets.
   3432  */
   3433 #define GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_FC_LIMITS 1276
   3434 
   3435 /**
   3436  * Type of the 'struct ExpressPreferenceMessage' send by clients to TRANSPORT
   3437  * to establish bandwidth preference.
   3438  */
   3439 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SUGGEST 1300
   3440 
   3441 /**
   3442  * Type of the 'struct ExpressPreferenceMessage' send by clients to TRANSPORT
   3443  * to abandon bandwidth preference.
   3444  */
   3445 #define GNUNET_MESSAGE_TYPE_TRANSPORT_SUGGEST_CANCEL 1301
   3446 
   3447 /**
   3448  * Type of the 'struct RequestHelloValidationMessage' send by clients to
   3449  * TRANSPORT to trigger validation of addresses.
   3450  */
   3451 #define GNUNET_MESSAGE_TYPE_TRANSPORT_REQUEST_HELLO_VALIDATION 1302
   3452 
   3453 
   3454 /**
   3455  * P2P message: transport requests confirmation that an address works.
   3456  */
   3457 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_VALIDATION_CHALLENGE 1303
   3458 
   3459 /**
   3460  * P2P message: transport proves that an address worked.
   3461  */
   3462 #define GNUNET_MESSAGE_TYPE_TRANSPORT_ADDRESS_VALIDATION_RESPONSE 1304
   3463 
   3464 
   3465 /* ************** NEW (NG) ATS Messages ************* */
   3466 /* NOTE: it is not clear ATS will survive in TNG      */
   3467 
   3468 /**
   3469  * Type of the 'struct ExpressPreferenceMessage' send by clients to ATS
   3470  * to establish bandwidth preference.
   3471  */
   3472 #define GNUNET_MESSAGE_TYPE_ATS_SUGGEST 1400
   3473 
   3474 /**
   3475  * Type of the 'struct ExpressPreferenceMessage' send by clients to ATS
   3476  * to abandon bandwidth preference.
   3477  */
   3478 #define GNUNET_MESSAGE_TYPE_ATS_SUGGEST_CANCEL 1401
   3479 
   3480 
   3481 /**
   3482  * Type of the 'struct SessionAddMessage' send by transport clients to ATS
   3483  * to ask ATS to allocate resources to a session.
   3484  */
   3485 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_ADD 1402
   3486 
   3487 /**
   3488  * Type of the 'struct SessionAddMessage' send by transport clients to ATS
   3489  * to inform ATS about a session where resources are consumed but allocation
   3490  * is impossible (unidirectional).
   3491  */
   3492 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_ADD_INBOUND_ONLY 1403
   3493 
   3494 /**
   3495  * Type of the 'struct SessionUpdateMessage' send by transport clients to ATS
   3496  * to inform ATS about property changes of a session.
   3497  */
   3498 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_UPDATE 1404
   3499 
   3500 /**
   3501  * Type of the 'struct SessionDelMessage' send by transport clients to ATS
   3502  * to tell ATS that a session is no longer available.
   3503  */
   3504 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_DEL 1405
   3505 
   3506 /**
   3507  * Type of the 'struct SessionAllocationMessage' send by ATS to the
   3508  * transport to tell it about resources to allocate to the session.
   3509  */
   3510 #define GNUNET_MESSAGE_TYPE_ATS_SESSION_ALLOCATION 1406
   3511 
   3512 
   3513 /**
   3514  * TCP communicator rekey message.
   3515  */
   3516 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_REKEY 1450
   3517 
   3518 /**
   3519  * TCP communicator payload box
   3520  */
   3521 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_BOX 1451
   3522 
   3523 /**
   3524  * TCP communicator end of stream.
   3525  */
   3526 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_FINISH 1452
   3527 
   3528 /**
   3529  * TCP communicator confirmation ack.
   3530  */
   3531 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_CONFIRMATION_ACK 1453
   3532 
   3533 /**
   3534  * UDP KX acknowledgement.
   3535  */
   3536 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_UDP_ACK 1460
   3537 
   3538 /**
   3539  * UDP communicator padding.
   3540  */
   3541 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_UDP_PAD 1461
   3542 
   3543 /**
   3544  * UDP Rekey.
   3545  */
   3546 #define GNUNET_MESSAGE_TYPE_COMMUNICATOR_UDP_REKEY 1462
   3547 
   3548 /**
   3549  * Next available: 1500
   3550  */
   3551 #define GNUNET_MESSAGE_TYPE_RECLAIM_REFERENCE_DELETE 1500
   3552 
   3553 #define GNUNET_MESSAGE_TYPE_RECLAIM_REFERENCE_RESULT 1501
   3554 
   3555 
   3556 /*********************************************************************************/
   3557 /**********************************  MESSENGER  **********************************/
   3558 /*********************************************************************************/
   3559 /* MESSENGER: message types 1600-1629
   3560  * 1600-1609 Connection-level Messages
   3561  * 1610-1619 Room-level Messages
   3562  */
   3563 
   3564 /*********************************  Connection  **********************************/
   3565 
   3566 #define GNUNET_MESSAGE_TYPE_MESSENGER_CONNECTION_CREATE 1600
   3567 
   3568 #define GNUNET_MESSAGE_TYPE_MESSENGER_CONNECTION_DESTROY 1601
   3569 
   3570 #define GNUNET_MESSAGE_TYPE_MESSENGER_CONNECTION_MEMBER_ID 1602
   3571 
   3572 /************************************  Room  *************************************/
   3573 
   3574 #define GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_OPEN 1610
   3575 
   3576 #define GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_ENTRY 1611
   3577 
   3578 #define GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_CLOSE 1612
   3579 
   3580 #define GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_SEND_MESSAGE 1614
   3581 
   3582 #define GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_RECV_MESSAGE 1615
   3583 
   3584 #define GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_GET_MESSAGE 1616
   3585 
   3586 #define GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_SYNC 1617
   3587 
   3588 #define GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_LINK 1618
   3589 
   3590 /*********************************************************************************/
   3591 
   3592 /*********************************************************************************/
   3593 /**********************************  Cmd Testing  **********************************/
   3594 /*********************************************************************************/
   3595 
   3596 /**
   3597  * The initialization message towards gnunet-cmds-helper
   3598  */
   3599 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_INIT 1700
   3600 
   3601 /**
   3602  * The reply message from gnunet-cmds-helper
   3603  */
   3604 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_REPLY 1701
   3605 
   3606 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_PEER_STARTED 1702
   3607 
   3608 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_ALL_PEERS_STARTED 1703
   3609 
   3610 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_LOCAL_TEST_PREPARED 1704
   3611 
   3612 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_ALL_LOCAL_TESTS_PREPARED 1705
   3613 
   3614 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_LOCAL_FINISHED 1706
   3615 
   3616 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_BARRIER_REACHED 1707
   3617 
   3618 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_BARRIER_ATTACH 1708
   3619 
   3620 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_BARRIER_CROSSABLE 1709
   3621 
   3622 #define GNUNET_MESSAGE_TYPE_CMDS_HELPER_BARRIER_ATTACHED 1710
   3623 
   3624 /*********************************************************************************/
   3625 
   3626 /*********************************************************************************/
   3627 /**********************************  NAMESTORE (cont.)  **************************/
   3628 /*********************************************************************************/
   3629 /* NAMESTORE: message types 1750-1800
   3630  */
   3631 
   3632 /**
   3633  * Message type for start of record edit with advisory lock
   3634  */
   3635 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_SET_EDIT 1750
   3636 
   3637 /**
   3638  * Return record set to edit with previous editor hint/advisory lock
   3639  */
   3640 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_SET_EDIT_RESPONSE 1751
   3641 
   3642 /**
   3643  * Message type for cancellation/reset of editor hint/advisory lock
   3644  */
   3645 #define GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_SET_EDIT_CANCEL 1752
   3646 
   3647 /*********************************************************************************/
   3648 
   3649 /*********************************************************************************/
   3650 /**********************************  UTIL (cont.)  **************************/
   3651 /*********************************************************************************/
   3652 /* NAMESTORE: message types 1801-1810
   3653  */
   3654 
   3655 /**
   3656  * Message exchanged between peers for burst synchronisation.
   3657  */
   3658 #define GNUNET_TYPE_BURST_SYNC 1801
   3659 
   3660 
   3661 /*********************************************************************************/
   3662 /*********************************  CORE (cont.)  ********************************/
   3663 /*********************************************************************************/
   3664 /* CORE: message types 1811-1830
   3665  */
   3666 
   3667 /**
   3668  * Message exchanged between peers for burst synchronisation.
   3669  */
   3670 #define GNUNET_MESSAGE_TYPE_CORE_PEER_ID 1811
   3671 
   3672 
   3673 
   3674 /*********************************************************************************/
   3675 /*************************************  PILS  ************************************/
   3676 /*********************************************************************************/
   3677 /* PILS: message types 1830-1850
   3678  */
   3679 
   3680 /**
   3681  * Message passing the new peer id from the service to the client.
   3682  */
   3683 #define GNUNET_MESSAGE_TYPE_PILS_PEER_ID 1831
   3684 
   3685 /**
   3686  * The client requests data to be signed with the peer identity.
   3687  */
   3688 #define GNUNET_MESSAGE_TYPE_PILS_SIGN_REQUEST 1832
   3689 
   3690 /**
   3691  * The service sends the requested signature to the client.
   3692  */
   3693 #define GNUNET_MESSAGE_TYPE_PILS_SIGN_RESULT 1833
   3694 
   3695 /**
   3696  * The client (core) provides new addresses to the service,
   3697  * so the service can generate the new peer id.
   3698  * (The client does not pass the actual addresses, but rather their hash.)
   3699  */
   3700 #define GNUNET_MESSAGE_TYPE_PILS_FEED_ADDRESSES 1834
   3701 
   3702 /**
   3703  * Decaps request.
   3704  */
   3705 #define GNUNET_MESSAGE_TYPE_PILS_KEM_DECAPS 1835
   3706 
   3707 /**
   3708  * Decaps result.
   3709  */
   3710 #define GNUNET_MESSAGE_TYPE_PILS_DECAPS_RESULT 1836
   3711 
   3712 
   3713 /*********************************************************************************/
   3714 /*************************************  FREE  ************************************/
   3715 /*********************************************************************************/
   3716 /* message types 1850-65534
   3717  */
   3718 
   3719 /**
   3720  * Type used to match 'all' message types.
   3721  */
   3722 #define GNUNET_MESSAGE_TYPE_ALL 65535
   3723 
   3724 
   3725 #if 0 /* keep Emacsens' auto-indent happy */
   3726 {
   3727 #endif
   3728 #ifdef __cplusplus
   3729 }
   3730 #endif
   3731 
   3732 /* ifndef GNUNET_PROTOCOLS_H */
   3733 #endif
   3734 
   3735 /** @} */ /* end of group protocols */
   3736 
   3737 /** @} */ /* end of group addition */
   3738 
   3739 /* end of gnunet_protocols.h */