tuple
static int tuple_cb(const char *tuple, int len, void *arg);
static int tuple_cb(const char *tuple, int len, void *arg)
if (garg == NULL || tuple == NULL || len <= 0) {
memcpy(restored_tuple_string, tuple, len);
int tuple;
for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) {
r = &ranges[tuple];
int tuple;
for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) {
r = &ranges[tuple];
int tuple;
for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) {
r = &ranges[tuple];
int tuple;
for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) {
r = &ranges[tuple];
int tuple;
for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) {
base = sc->ranges[tuple].pci_base;
size = sc->ranges[tuple].size;
rman = thunder_pem_get_rman(dev, sc->ranges[tuple].flags, 0);
sc->ranges[tuple].pci_base,
sc->ranges[tuple].phys_base,
sc->ranges[tuple].size,
sc->ranges[tuple].flags);
#define pccard_cis_read_1(tuple, idx0) \
(bus_space_read_1((tuple)->memt, (tuple)->memh, (tuple)->mult*(idx0)))
#define pccard_tuple_read_1(tuple, idx1) \
(pccard_cis_read_1((tuple), ((tuple)->ptr+(2+(idx1)))))
#define pccard_tuple_read_2(tuple, idx2) \
(pccard_tuple_read_1((tuple), (idx2)) | \
(pccard_tuple_read_1((tuple), (idx2)+1)<<8))
#define pccard_tuple_read_3(tuple, idx3) \
(pccard_tuple_read_1((tuple), (idx3)) | \
(pccard_tuple_read_1((tuple), (idx3)+1)<<8) | \
(pccard_tuple_read_1((tuple), (idx3)+2)<<16))
#define pccard_tuple_read_4(tuple, idx4) \
(pccard_tuple_read_1((tuple), (idx4)) | \
(pccard_tuple_read_1((tuple), (idx4)+1)<<8) | \
(pccard_tuple_read_1((tuple), (idx4)+2)<<16) | \
(pccard_tuple_read_1((tuple), (idx4)+3)<<24))
#define pccard_tuple_read_n(tuple, n, idxn) \
(((n)==1)?pccard_tuple_read_1((tuple), (idxn)) : \
(((n)==2)?pccard_tuple_read_2((tuple), (idxn)) : \
(((n)==3)?pccard_tuple_read_3((tuple), (idxn)) : \
/* n == 4 */ pccard_tuple_read_4((tuple), (idxn)))))
for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) {
phys_base = sc->ranges[tuple].phys_base;
pci_base = sc->ranges[tuple].pci_base;
size = sc->ranges[tuple].size;
rid = RANGE_RID(tuple);
switch (FLAG_TYPE(sc->ranges[tuple].flags)) {
"failed to set resource for range %d: %d\n", tuple,
sc->ranges[tuple].rid = rid;
sc->ranges[tuple].res = bus_alloc_resource_any(dev,
if (sc->ranges[tuple].res == NULL) {
"failed to allocate resource for range %d\n", tuple);
int error, rid, tuple;
for (tuple = 0; tuple < MAX_RANGES_TUPLES; tuple++) {
rid = sc->ranges[tuple].rid;
if (sc->ranges[tuple].size == 0) {
MPASS(sc->ranges[tuple].res == NULL);
switch (FLAG_TYPE(sc->ranges[tuple].flags)) {
if (sc->ranges[tuple].res != NULL)
sc->ranges[tuple].res);
int flags, rid, tuple;
uint8_t tuple[41];
*((uint8_t *) &tuple[0]) = ip6->ip6_nxt;
*((uint32_t *) &tuple[1]) = si->perturbation;
memcpy(&tuple[5], ip6->ip6_src.s6_addr, 16);
memcpy(&tuple[21], ip6->ip6_dst.s6_addr, 16);
*((uint16_t *) &tuple[37]) = th->th_dport;
*((uint16_t *) &tuple[39]) = th->th_sport;
*((uint16_t *) &tuple[37]) = uh->uh_dport;
*((uint16_t *) &tuple[39]) = uh->uh_sport;
memset(&tuple[37], 0, 4);
hash = jenkins_hash(tuple, 41, HASHINIT) % fcount;
*((uint8_t *) &tuple[0]) = ip->ip_p;
*((uint32_t *) &tuple[1]) = si->perturbation;
*((uint32_t *) &tuple[5]) = ip->ip_src.s_addr;
*((uint32_t *) &tuple[9]) = ip->ip_dst.s_addr;
*((uint16_t *) &tuple[13]) = th->th_dport;
*((uint16_t *) &tuple[15]) = th->th_sport;
*((uint16_t *) &tuple[13]) = uh->uh_dport;
*((uint16_t *) &tuple[15]) = uh->uh_sport;
memset(&tuple[13], 0, 4);
hash = jenkins_hash(tuple, 17, HASHINIT) % fcount;
uint8_t tuple[41];
*((uint8_t *) &tuple[0]) = ip6->ip6_nxt;
*((uint32_t *) &tuple[1]) = si->perturbation;
memcpy(&tuple[5], ip6->ip6_src.s6_addr, 16);
memcpy(&tuple[21], ip6->ip6_dst.s6_addr, 16);
*((uint16_t *) &tuple[37]) = th->th_dport;
*((uint16_t *) &tuple[39]) = th->th_sport;
*((uint16_t *) &tuple[37]) = uh->uh_dport;
*((uint16_t *) &tuple[39]) = uh->uh_sport;
memset(&tuple[37], 0, 4);
hash = jenkins_hash(tuple, 41, HASHINIT) % fcount;
*((uint8_t *) &tuple[0]) = ip->ip_p;
*((uint32_t *) &tuple[1]) = si->perturbation;
*((uint32_t *) &tuple[5]) = ip->ip_src.s_addr;
*((uint32_t *) &tuple[9]) = ip->ip_dst.s_addr;
*((uint16_t *) &tuple[13]) = th->th_dport;
*((uint16_t *) &tuple[15]) = th->th_sport;
*((uint16_t *) &tuple[13]) = uh->uh_dport;
*((uint16_t *) &tuple[15]) = uh->uh_sport;
memset(&tuple[13], 0, 4);
hash = jenkins_hash(tuple, 17, HASHINIT) % fcount;
tuple(0, 0),
tuple(FUSE_ASYNC_READ, 0)
tuple(0, 1),
tuple(0, 2),
tuple(0, 3)
public WithParamInterface<tuple<int, int>>
typedef tuple<tuple<bool, bool, bool>, cache_mode, ssize_t, ssize_t> CacheParam;
typedef tuple<bool, uint32_t, cache_mode, uint32_t> IoParam;
public WithParamInterface<tuple<bool, int>>
Values(tuple<bool, int>(false, 0),
tuple<bool, int>(false, 1),
tuple<bool, int>(false, 2),
tuple<bool, int>(false, 3),
tuple<bool, int>(true, 0),
tuple<bool, int>(true, 1),
tuple<bool, int>(true, 2)));
dump_config_map(struct tuple *tp)
static void dump_config_map(struct tuple *tp);
static void dump_cis_config(struct tuple *tp);
dump_cis_config(struct tuple *tp)
struct tuple *tp;
struct tuple *tp;
struct tuple *tp;
struct tuple *tp, *last_tp = 0;
static struct tuple *
struct tuple *tp;
static struct tuple *find_tuple_in_list(struct tuple_list *, unsigned char);
struct tuple *next;
struct tuple *tuples;