gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r20773 - gnunet-fuse/src/ext


From: gnunet
Subject: [GNUnet-SVN] r20773 - gnunet-fuse/src/ext
Date: Mon, 26 Mar 2012 17:12:34 +0200

Author: mauricio
Date: 2012-03-26 17:12:34 +0200 (Mon, 26 Mar 2012)
New Revision: 20773

Modified:
   gnunet-fuse/src/ext/gnunet-fuse.c
   gnunet-fuse/src/ext/gnunet-fuse.h
   gnunet-fuse/src/ext/readdir.c
Log:
-n.w.c


Modified: gnunet-fuse/src/ext/gnunet-fuse.c
===================================================================
--- gnunet-fuse/src/ext/gnunet-fuse.c   2012-03-26 13:58:21 UTC (rev 20772)
+++ gnunet-fuse/src/ext/gnunet-fuse.c   2012-03-26 15:12:34 UTC (rev 20773)
@@ -33,7 +33,7 @@
 #include <gnunet/gnunet_container_lib.h>
 #include <gnunet/gnunet_crypto_lib.h>
 
-struct GNUNET_CONTAINER_MultiHashMap *map;
+//struct GNUNET_CONTAINER_MultiHashMap *map;
 
 static int ret;
 
@@ -140,44 +140,13 @@
        }
 
 
-       /* Store a key-value pair in the map. */
-                       struct path_uri *t;
+/* create MultiHashMap */
+unsigned int len = strlen(directory);
 
-                       t = GNUNET_malloc (sizeof (struct path_uri));
-
-                       GNUNET_CONTAINER_multihashmap_put (map, directory, 
source, GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
-
-
-
-/* create MultiHashMap
 struct GNUNET_CONTAINER_MultiHashMap *map;
-unsigned int len = strlen(path);
-
-map = GNUNET_malloc (sizeof (struct GNUNET_CONTAINER_MultiHashMap));
 map = GNUNET_CONTAINER_multihashmap_create (len);
-*/
 
-/* compute key
 
-int size = sizeof(block);
-struct path_uri * r;
-
-GNUNET_CRYPTO_hash (path, len, r);
-*/
-
-
-/* Store a key-value pair in the map.
-
-struct path_uri *t;
-
-t = GNUNET_malloc (sizeof (struct path_uri));
-
-GNUNET_CONTAINER_multihashmap_put (map, t->path, t->source, 
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
-
-
-*/
-
-
 /* main function of fuse */
        fuse_main(argc, a, &fops, NULL);
 }

Modified: gnunet-fuse/src/ext/gnunet-fuse.h
===================================================================
--- gnunet-fuse/src/ext/gnunet-fuse.h   2012-03-26 13:58:21 UTC (rev 20772)
+++ gnunet-fuse/src/ext/gnunet-fuse.h   2012-03-26 15:12:34 UTC (rev 20773)
@@ -49,16 +49,18 @@
 
 /* struct containing mapped Path, with URI and other Information like 
Attributes etc. */
 
-struct path_uri
+struct GNUNET_FUSE_path_info
 {
 /* uri to corresponding path */
        char* source;
 /* pathname */
        char* path;
 /* key */
-       int key;
+       GNUNET_HashCode hash;
 /*name of temporary file */
        char* tmpfile;
+/*file attributes*/
+       struct stat;
 };
 
 

Modified: gnunet-fuse/src/ext/readdir.c
===================================================================
--- gnunet-fuse/src/ext/readdir.c       2012-03-26 13:58:21 UTC (rev 20772)
+++ gnunet-fuse/src/ext/readdir.c       2012-03-26 15:12:34 UTC (rev 20773)
@@ -27,15 +27,18 @@
  * Introduced in version 2.3
  */
 
+//#include <string.h>
+//#include <errno.h>
+//#include <glib.h>
+//#include <GNUnet/gnunet_ecrs_lib.h>
+
 #include <sys/types.h>
 #include <sys/mman.h>
 #include <fcntl.h>
 #include <unistd.h>
-//#include <string.h>
-//#include <errno.h>
-//#include <glib.h>
+
 #include <fuse.h>
-//#include <GNUnet/gnunet_ecrs_lib.h>
+
 #include <gnunet-fuse.h>
 #include <gnunet/gnunet_fs_service.h>
 #include <gnunet/gnunet_container_lib.h>
@@ -67,8 +70,10 @@
 
 struct GNUNET_CONTAINER_MultiHashMap *map;
 
+struct GNUNET_FS_Uri *uri;
 
 
+
 static void
 cleanup_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
@@ -164,14 +169,14 @@
 void readdir_task (void *cls,
                                   const struct GNUNET_SCHEDULER_TaskContext* 
tc)
 {
-       struct GNUNET_FS_Uri *uri;
+
        char *emsg;
        enum GNUNET_FS_DownloadOptions options;
 
 
 
-       uri = GNUNET_FS_uri_parse(w->source, &emsg);
 
+
        if (NULL == uri)
        {
          FPRINTF (stderr, _("Failed to parse URI: %s\n"), emsg);
@@ -219,38 +224,36 @@
 
 
 int gn_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
-       off_t offset, struct fuse_file_info *fi)
+                               off_t offset, struct fuse_file_info *fi)
 {
 
        (void) fi;
        (void) offset;
+       struct GNUNET_FUSE_path_info *r;
+       int len = strlen(path);
+       int exist = 0;
 
+       r = GNUNET_malloc (sizeof (struct GNUNET_FUSE_path_info));
 
-       /* create MultiHashMap */
-               unsigned int len = strlen();
+       exist = GNUNET_CONTAINER_multihashmap_contains (map, r->hash,);
+               if ( exist == GNUNET_NO)
 
-               map = GNUNET_malloc (sizeof (struct 
GNUNET_CONTAINER_MultiHashMap));
-               map = GNUNET_CONTAINER_multihashmap_create (len);
+/* compute key */
+       GNUNET_CRYPTO_hash (r->path, len, r->hash);
 
+/* Store a key-value pair in the map */
+       GNUNET_CONTAINER_multihashmap_put (map, directory, source, 
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
 
-               /* compute key */
-               struct path_uri * r;
+/* store to temporary file */
+       r->tmpfile = GNUNET_DISK_mktemp("gnunet-fuse-tempfile");
 
-               GNUNET_CRYPTO_hash (r->path, len, r->key);
+/* find value with given key */
+       r->source = GNUNET_CONTAINER_multihashmap_get (map, r->path);
 
-
-               /* find value with given key */
-
-               w = GNUNET_malloc (sizeof (struct path_uri));
-               w->tmpfile = GNUNET_DISK_mktemp("gnunet-fuse-tempfile");
-               w->source = GNUNET_CONTAINER_multihashmap_get (map, w->path);
-
-
-
+/* parse uri from given source */
+       uri = GNUNET_FS_uri_parse(r->source, &emsg);
        GNUNET_SCHEDULER_run(&readdir_task, NULL);
 
-
-
        filler(buf, ".", NULL, 0);
        filler(buf, "..", NULL, 0);
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]