From aa49c7dc35c4693ea128cbd4380db9efa7130e38 Mon Sep 17 00:00:00 2001 From: Jose Marcial Vieira Bisneto Date: Fri, 16 Dec 2016 00:28:12 -0300 Subject: [PATCH] Initial implementation of namesys/pb --- include/ipfs/namesys/pb.h | 31 +++++++++++++++++++++++++++++++ namesys/pb.c | 19 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 include/ipfs/namesys/pb.h create mode 100644 namesys/pb.c diff --git a/include/ipfs/namesys/pb.h b/include/ipfs/namesys/pb.h new file mode 100644 index 0000000..1d47ef6 --- /dev/null +++ b/include/ipfs/namesys/pb.h @@ -0,0 +1,31 @@ +#ifndef IPNS_NAMESYS_PB_H + #define IPNS_NAMESYS_PB_H + + typedef int IpnsEntry_ValidityType; + + struct ipns_entry { + // TODO + struct routingResolver *cache; + struct stime *eol; + }; + + struct namesys_pb { + // TODO + struct ipns_entry *IpnsEntry; + }; + + // setting an EOL says "this record is valid until..." + const IpnsEntry_ValidityType IpnsEntry_EOL = 0; + + char *IpnsEntry_ValidityType_name[] = { + "EOL", + NULL + }; + + int IpnsEntry_ValidityType_value (char *s); + char* ipfs_namesys_pb_get_validity (struct ipns_entry*); + char* ipfs_ipns_entry_data_for_sig(struct ipns_entry*); + char* ipfs_ipns_entry_get_signature(struct ipns_entry*); + int ipfs_namesys_pb_get_value (char**, struct ipns_entry*); + IpnsEntry_ValidityType ipfs_namesys_pb_get_validity_type (struct ipns_entry*); +#endif // IPNS_NAMESYS_PB_H diff --git a/namesys/pb.c b/namesys/pb.c new file mode 100644 index 0000000..4e7d633 --- /dev/null +++ b/namesys/pb.c @@ -0,0 +1,19 @@ +#include +#include "ipfs/namesys/pb.h" + +int IpnsEntry_ValidityType_value (char *s) +{ + int r; + + if (!s) { + return -1; // invalid. + } + + for (r = 0 ; IpnsEntry_ValidityType_name[r] ; r++) { + if (strcmp (IpnsEntry_ValidityType_name[r], s) == 0) { + return r; // found + } + } + + return -1; // not found. +}