[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r6935 - GNUnet/src/applications/fs/namespace
From: |
gnunet |
Subject: |
[GNUnet-SVN] r6935 - GNUnet/src/applications/fs/namespace |
Date: |
Fri, 30 May 2008 20:10:52 -0600 (MDT) |
Author: grothoff
Date: 2008-05-30 20:10:52 -0600 (Fri, 30 May 2008)
New Revision: 6935
Added:
GNUnet/src/applications/fs/namespace/info.c
Log:
mis
Added: GNUnet/src/applications/fs/namespace/info.c
===================================================================
--- GNUnet/src/applications/fs/namespace/info.c (rev 0)
+++ GNUnet/src/applications/fs/namespace/info.c 2008-05-31 02:10:52 UTC (rev
6935)
@@ -0,0 +1,96 @@
+/*
+ This file is part of GNUnet
+ (C) 2003, 2004, 2005, 2006, 2007, 2008 Christian Grothoff (and other
contributing authors)
+
+ GNUnet is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 2, or (at your
+ option) any later version.
+
+ GNUnet is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNUnet; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+/**
+ * @file applications/fs/namespace/info.c
+ * @brief create and destroy namespaces
+ * @author Christian Grothoff
+ */
+
+#include "platform.h"
+#include "gnunet_directories.h"
+#include "gnunet_pseudonym_lib.h"
+#include "gnunet_namespace_lib.h"
+#include "gnunet_util.h"
+#include "common.h"
+
+/**
+ * Create a new namespace (and publish an advertismement).
+ * This function is synchronous, but may block the system
+ * for a while since it must create a public-private key pair!
+ *
+ * @param meta meta-data about the namespace (maybe NULL)
+ * @return namespace root URI on success, NULL on error (namespace already
exists)
+ */
+struct GNUNET_ECRS_URI *
+GNUNET_NS_namespace_create (struct GNUNET_GE_Context *ectx,
+ struct GNUNET_GC_Configuration *cfg,
+ unsigned int anonymityLevel,
+ unsigned int insertPriority,
+ GNUNET_CronTime insertExpiration,
+ const char *namespaceName,
+ const struct GNUNET_ECRS_MetaData *meta,
+ const struct GNUNET_ECRS_URI *advertisementURI,
+ const GNUNET_HashCode * rootEntry)
+{
+ struct GNUNET_ECRS_URI *ret;
+ GNUNET_HashCode id;
+
+ ret = GNUNET_ECRS_namespace_create (ectx,
+ cfg,
+ namespaceName,
+ meta,
+ anonymityLevel,
+ insertPriority,
+ insertExpiration, advertisementURI,
+ rootEntry);
+ if (ret != NULL)
+ {
+ GNUNET_NS_namespace_set_root (ectx, cfg, ret);
+ GNUNET_ECRS_uri_get_namespace_from_sks (ret, &id);
+ GNUNET_PSEUDO_add (ectx, cfg, &id, meta);
+ }
+ return ret;
+}
+
+/**
+ * Delete a local namespace.
+ *
+ * @return GNUNET_OK on success, GNUNET_SYSERR on error
+ */
+int
+GNUNET_NS_namespace_delete (struct GNUNET_GE_Context *ectx,
+ struct GNUNET_GC_Configuration *cfg,
+ const GNUNET_HashCode * nsid)
+{
+ int ret;
+ char *fn;
+ char *ns_name;
+
+ ns_name = "FIXME";
+ ret = GNUNET_ECRS_namespace_delete (ectx, cfg, ns_name);
+ fn = GNUNET_NS_internal_get_data_filename_ (ectx,
+ cfg, NS_UPDATE_DIR, nsid, NULL);
+ GNUNET_disk_directory_remove (ectx, fn);
+ GNUNET_free (fn);
+ return ret;
+}
+
+/* end of info.c */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r6935 - GNUnet/src/applications/fs/namespace,
gnunet <=