blob: 155fce360678974840ed2583f91793d0d61a46b7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/* ISC license. */
#include <sys/uio.h>
#include <errno.h>
#include <skalibs/genalloc.h>
#include <s6/ftrigr.h>
#include "ftrigr-internal.h"
int ftrigr_peek (ftrigr *a, uint32_t id, struct iovec *v)
{
ftrigr_data *p = genalloc_s(ftrigr_data, &a->data) + id ;
switch (p->status)
{
case EAGAIN : return 0 ;
case 0 :
{
v->iov_base = p->sa.s ;
v->iov_len = p->sa.len ;
return 1 ;
}
default: break ;
}
return (errno = p->status, -1) ;
}
|