Пример #1
0
B1Handle *b1_handle_lookup(B1Peer *peer, uint64_t handle_id) {
        CRBNode *n;

        assert(peer);

        n = c_rbtree_find_node(&peer->handles, handles_compare, &handle_id);
        if (!n)
                return NULL;

        return c_container_of(n, B1Handle, rb);
}
Пример #2
0
B1Node *b1_node_lookup(B1Peer *peer, uint64_t node_id) {
        CRBNode *n;

        assert(peer);

        n = c_rbtree_find_node(&peer->nodes, nodes_compare, &node_id);
        if (!n)
                return NULL;

        return c_container_of(n, B1Node, rb_nodes);
}
Пример #3
0
B1Interface *b1_node_get_interface(B1Node *node, const char *name) {
        B1Implementation *implementation;
        CRBNode *n;

        assert(node);
        assert(name);

        n = c_rbtree_find_node(&node->implementations, implementations_compare, name);
        if (!n)
                return NULL;

        implementation = c_container_of(n, B1Implementation, rb);

        return implementation->interface;
}