int main() { ff_convert_this(&hmain); ff_create(&h1, &ff1, NULL, NULL); ff_create(&h2, &ff2, NULL, NULL); ff_yield_to(h1); ff_exit(); return 0; }
int memcache_get (struct connection *c, const char *key, int key_len) { if (verbosity >= 3) { fprintf (stderr, "memcache_get: key='%s'\n", key); } struct fuse_file_info fi; if (key_len >= 5 && !strncmp (key, "stats", 5)) { int stats_len = filesys_prepare_stats(c); return_one_key (c, key, value_buff, stats_len); return 0; } cmd_get++; if (key_len <= 0) { return 0; } int r = -11; int x; unsigned int offset, length; inode_id_t inode; switch (key[0]) { case 'c': if (!strncmp (key, "creat", 5) && sscanf (key, "creat%d", &x) >= 1 && !parse_path (c)) { r = ff_create (value_buff, x, &fi); if (!r) { return_one_long (c, key, fi.fh); } } break; case 'o': if (!strcmp (key, "open") && !parse_path (c)) { r = ff_open (value_buff, &fi); if (!r) { return_one_long (c, key, fi.fh); } } break; case 'r': if (!strncmp (key, "read", 4) && sscanf (key, "read%u,%u,%lld", &offset, &length, &inode) >= 3) { fi.fh = inode; r = ff_read (NULL, value_buff, length, offset, &fi); if (r >= 0) { return_one_key (c, key, value_buff, r); } } } free_tmp_buffers (c); return 0; }