* @param op channel operations
  * @param fd file descriptor of the channel
  * @param bufsize the minimal receive buffer size
- * @param data user data
  * @return the new channel object, or NULL on failure
  */
 struct fuse_chan *fuse_chan_new(struct fuse_chan_ops *op, int fd,
-                               size_t bufsize, void *data);
+                               size_t bufsize);
 
 /**
  * Query the file descriptor of the channel
  */
 size_t fuse_chan_bufsize(struct fuse_chan *ch);
 
-/**
- * Query the user data
- *
- * @param ch the channel
- * @return the user data passed to fuse_chan_new()
- */
-void *fuse_chan_data(struct fuse_chan *ch);
-
 /**
  * Query the session to which this channel is assigned
  *
 
        };
        size_t bufsize = getpagesize() + 0x1000;
        bufsize = bufsize < MIN_BUFSIZE ? MIN_BUFSIZE : bufsize;
-       return fuse_chan_new(&op, fd, bufsize, NULL);
+       return fuse_chan_new(&op, fd, bufsize);
 }
 
        int fd;
 
        size_t bufsize;
-
-       void *data;
 };
 
 struct fuse_session *fuse_session_new(struct fuse_session_ops *op, void *data)
        return res;
 }
 
+int fuse_chan_clearfd(struct fuse_chan *ch)
+{
+       int fd = ch->fd;
+       ch->fd = -1;
+       return fd;
+}
 
 void fuse_session_destroy(struct fuse_session *se)
 {
 }
 
 struct fuse_chan *fuse_chan_new(struct fuse_chan_ops *op, int fd,
-                               size_t bufsize, void *data)
+                               size_t bufsize)
 {
        struct fuse_chan *ch = (struct fuse_chan *) malloc(sizeof(*ch));
        if (ch == NULL) {
        ch->op = *op;
        ch->fd = fd;
        ch->bufsize = bufsize;
-       ch->data = data;
 
        return ch;
 }
        return ch->bufsize;
 }
 
-void *fuse_chan_data(struct fuse_chan *ch)
-{
-       return ch->data;
-}
-
 struct fuse_session *fuse_chan_session(struct fuse_chan *ch)
 {
        return ch->se;
 
                fuse_loop;
                fuse_loop_mt;
                fuse_chan_bufsize;
-               fuse_chan_data;
                fuse_chan_destroy;
                fuse_chan_fd;
                fuse_chan_send;