Lines Matching refs:chan

66 cap_add_pd(cap_channel_t *chan, int pd)
71 chan->cch_pd = pd;
81 cap_channel_t *chan;
97 chan = cap_wrap(sock[0]);
98 if (chan == NULL) {
105 ret = cap_add_pd(chan, pfd);
107 return (chan);
121 cap_channel_t *chan;
126 chan = malloc(sizeof(*chan));
127 if (chan != NULL) {
128 chan->cch_sock = sock;
129 chan->cch_pd = -1;
130 chan->cch_magic = CAP_CHANNEL_MAGIC;
133 return (chan);
137 cap_unwrap(cap_channel_t *chan)
141 assert(chan != NULL);
142 assert(chan->cch_magic == CAP_CHANNEL_MAGIC);
144 sock = chan->cch_sock;
145 if (chan->cch_pd != -1)
146 close(chan->cch_pd);
147 chan->cch_magic = 0;
148 free(chan);
154 cap_clone(const cap_channel_t *chan)
160 assert(chan != NULL);
161 assert(chan->cch_magic == CAP_CHANNEL_MAGIC);
165 nvl = cap_xfer_nvlist(chan, nvl, 0);
188 cap_close(cap_channel_t *chan)
191 assert(chan != NULL);
192 assert(chan->cch_magic == CAP_CHANNEL_MAGIC);
194 chan->cch_magic = 0;
195 if (chan->cch_pd != -1)
196 close(chan->cch_pd);
197 close(chan->cch_sock);
198 free(chan);
202 cap_sock(const cap_channel_t *chan)
205 assert(chan != NULL);
206 assert(chan->cch_magic == CAP_CHANNEL_MAGIC);
208 return (chan->cch_sock);
212 cap_limit_set(const cap_channel_t *chan, nvlist_t *limits)
220 nvlmsg = cap_xfer_nvlist(chan, nvlmsg, 0);
236 cap_limit_get(const cap_channel_t *chan, nvlist_t **limitsp)
243 nvlmsg = cap_xfer_nvlist(chan, nvlmsg, 0);
261 cap_send_nvlist(const cap_channel_t *chan, const nvlist_t *nvl)
264 assert(chan != NULL);
265 assert(chan->cch_magic == CAP_CHANNEL_MAGIC);
267 return (nvlist_send(chan->cch_sock, nvl));
271 cap_recv_nvlist(const cap_channel_t *chan, int flags)
274 assert(chan != NULL);
275 assert(chan->cch_magic == CAP_CHANNEL_MAGIC);
277 return (nvlist_recv(chan->cch_sock, flags));
281 cap_xfer_nvlist(const cap_channel_t *chan, nvlist_t *nvl, int flags)
284 assert(chan != NULL);
285 assert(chan->cch_magic == CAP_CHANNEL_MAGIC);
287 return (nvlist_xfer(chan->cch_sock, nvl, flags));
291 cap_service_open(const cap_channel_t *chan, const char *name)
302 nvl = cap_xfer_nvlist(chan, nvl, 0);
327 cap_service_limit(const cap_channel_t *chan, const char * const *names,
336 return (cap_limit_set(chan, limits));