libswarm-ng

C implementation of BMT hasher, Swarmhash and Single Owner Chunk for swarm
git clone git://git.defalsify.org/libswarm-ng.git
Log | Files | Refs | Submodules | README

soc.h (840B)


      1 #ifndef _LIBSWARM_SOC_H
      2 #define _LIBSWARM_SOC_H
      3 
      4 #include "def.h"
      5 #include "chunk.h"
      6 #include "keystore.h"
      7 
      8 #define SWARM_SOC_TOPIC_SIZE 20
      9 #define SWARM_SOC_INDEX_SIZE SWARM_WORD_SIZE
     10 #define SWARM_SOC_IDENTIFIER_SIZE SWARM_WORD_SIZE
     11 
     12 typedef struct soc_chunk {
     13 	unsigned char identifier[SWARM_SOC_IDENTIFIER_SIZE];
     14 	unsigned char signature[SWARM_SIGNATURE_SIZE];
     15 	swarm_chunk_t data;
     16 } soc_chunk_t;
     17 
     18 int soc_identifier(unsigned char *z, const unsigned char *topic, const unsigned char *index);
     19 int soc_address(unsigned char *z, const unsigned char *identifier, const unsigned char *address);
     20 int soc_digest(const soc_chunk_t* chunk, unsigned char *z);
     21 unsigned char* soc_serialize(const soc_chunk_t *chunk, unsigned char *z, size_t *sz);
     22 int soc_verify(const soc_chunk_t *chunk, const keystore_key_t *key_cmp);
     23 
     24 #endif // _LIBSWARM_SOC_H