gnunet-android

GNUnet for Android
Log | Files | Refs | README

gnunet_dht_block_types.h (3390B)


      1 /*
      2      This file is part of GNUnet
      3      Copyright (C) 2012-2022 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 #ifndef GNUNET_DHT_BLOCK_TYPES_H
     21 #define GNUNET_DHT_BLOCK_TYPES_H
     22 
     23 /**
     24  * WARNING:
     25  * This header is generated!
     26  * In order to add DHT block types, you must register
     27  * them in GANA, and then use the header generation script
     28  * to create an update of this file. You may then replace this
     29  * file with the update.
     30  */
     31 
     32 #ifdef __cplusplus
     33 extern "C" {
     34 #if 0 /* keep Emacsens' auto-indent happy */
     35 }
     36 #endif
     37 #endif
     38 
     39 /**
     40  * Blocks in the datastore and the datacache must have a unique type.
     41  */
     42 enum GNUNET_BLOCK_Type
     43 {
     44 
     45 
     46   /**
     47    * Identifier for any block.
     48    */
     49   GNUNET_BLOCK_TYPE_ANY = 0,
     50 
     51 
     52   /**
     53    * Data block (leaf) in the CHK tree.
     54    */
     55   GNUNET_BLOCK_TYPE_FS_DBLOCK = 1,
     56 
     57 
     58   /**
     59    * Inner block in the CHK tree.
     60    */
     61   GNUNET_BLOCK_TYPE_FS_IBLOCK = 2,
     62 
     63 
     64   /**
     65    * Type of a block representing a block to be encoded on demand from disk. Should never appear on the network directly.
     66    */
     67   GNUNET_BLOCK_TYPE_FS_ONDEMAND = 6,
     68 
     69 
     70   /**
     71    * Legacy type of a block that contains a HELLO for a peer.
     72    */
     73   GNUNET_BLOCK_TYPE_LEGACY_HELLO = 7,
     74 
     75 
     76   /**
     77    * Block for testing.
     78    */
     79   GNUNET_BLOCK_TYPE_TEST = 8,
     80 
     81 
     82   /**
     83    * Type of a block representing any type of search result (universal).
     84    */
     85   GNUNET_BLOCK_TYPE_FS_UBLOCK = 9,
     86 
     87 
     88   /**
     89    * Block for storing DNS exit service advertisements.
     90    */
     91   GNUNET_BLOCK_TYPE_DNS = 10,
     92 
     93 
     94   /**
     95    * Block for storing GNS record data.
     96    */
     97   GNUNET_BLOCK_TYPE_GNS_NAMERECORD = 11,
     98 
     99 
    100   /**
    101    * Block type for a revocation message by which a key is revoked.
    102    */
    103   GNUNET_BLOCK_TYPE_REVOCATION = 12,
    104 
    105 
    106   /**
    107    * Type of a block that contains a DHT-NG HELLO for a peer.
    108    */
    109   GNUNET_BLOCK_TYPE_DHT_HELLO = 13,
    110 
    111 
    112   /**
    113    * Block to store a cadet regex state
    114    */
    115   GNUNET_BLOCK_TYPE_REGEX = 22,
    116 
    117 
    118   /**
    119    * Block to store a cadet regex accepting state
    120    */
    121   GNUNET_BLOCK_TYPE_REGEX_ACCEPT = 23,
    122 
    123 
    124   /**
    125    * Block for testing set/consensus.  If first byte of the block is non-zero, the block is considered invalid.
    126    */
    127   GNUNET_BLOCK_TYPE_SET_TEST = 24,
    128 
    129 
    130   /**
    131    * Block type for consensus elements. Contains either special marker elements or a nested block.
    132    */
    133   GNUNET_BLOCK_TYPE_CONSENSUS_ELEMENT = 25,
    134 
    135 
    136   /**
    137    * Block for testing set intersection.  If first byte of the block is non-zero, the block is considered invalid.
    138    */
    139   GNUNET_BLOCK_TYPE_SETI_TEST = 26,
    140 
    141 
    142   /**
    143    * Block for testing set union.  If first byte of the block is non-zero, the block is considered invalid.
    144    */
    145   GNUNET_BLOCK_TYPE_SETU_TEST = 27,
    146 };
    147 
    148 
    149 #if 0 /* keep Emacsens' auto-indent happy */
    150 {
    151 #endif
    152 #ifdef __cplusplus
    153 }
    154 #endif
    155 
    156 #endif