Lines Matching refs:ch
26 struct fuse_chan *ch;
56 void fuse_session_add_chan(struct fuse_session *se, struct fuse_chan *ch)
58 assert(se->ch == NULL);
59 assert(ch->se == NULL);
60 se->ch = ch;
61 ch->se = se;
64 void fuse_session_remove_chan(struct fuse_chan *ch)
66 struct fuse_session *se = ch->se;
68 assert(se->ch == ch);
69 se->ch = NULL;
70 ch->se = NULL;
75 struct fuse_chan *ch)
77 assert(ch == NULL || ch == se->ch);
78 if (ch == NULL)
79 return se->ch;
85 struct fuse_chan *ch)
87 se->op.process(se->data, buf, len, ch);
94 if (se->ch != NULL)
95 fuse_chan_destroy(se->ch);
124 struct fuse_chan *ch = (struct fuse_chan *) malloc(sizeof(*ch));
125 if (ch == NULL) {
130 memset(ch, 0, sizeof(*ch));
131 ch->op = *op;
132 ch->fd = fd;
133 ch->bufsize = bufsize;
134 ch->data = data;
136 return ch;
145 int fuse_chan_fd(struct fuse_chan *ch)
147 return ch->fd;
150 size_t fuse_chan_bufsize(struct fuse_chan *ch)
152 return ch->bufsize;
155 void *fuse_chan_data(struct fuse_chan *ch)
157 return ch->data;
160 struct fuse_session *fuse_chan_session(struct fuse_chan *ch)
162 return ch->se;
167 struct fuse_chan *ch = *chp;
169 return ch->op.receive(chp, buf, size);
173 int fuse_chan_receive(struct fuse_chan *ch, char *buf, size_t size)
177 res = fuse_chan_recv(&ch, buf, size);
182 int fuse_chan_send(struct fuse_chan *ch, const struct iovec iov[], size_t count)
184 return ch->op.send(ch, iov, count);
187 void fuse_chan_destroy(struct fuse_chan *ch)
189 fuse_session_remove_chan(ch);
190 if (ch->op.destroy)
191 ch->op.destroy(ch);
192 free(ch);