openbmc/build/tmp/deploy/sdk/witherspoon-2019-08-08/sysroots/armv6-openbmc-linux-gnueabi/usr/src/debug/dbus-broker/19-r0/dbus-broker-19/subprojects/c-rbtree/src/c-rbtree.h
static inline CRBNode* c_rbnode_parent(CRBNode* n)
{
    return (n->__parent_and_flags & C_RBNODE_ROOT)
               ? NULL
               : (void*)(n->__parent_and_flags & ~C_RBNODE_FLAG_MASK);
}
/**
 * c_rbnode_parent() - return parent pointer
 * @n           node to access
 *
 * This returns a pointer to the parent of the given node @n. If @n does not
 * have a parent, NULL is returned. If @n is not linked, @n itself is returned.
 *
 * You should not call this on unlinked or uninitialized nodes! If you do, you
 * better know its semantics.
 *
 * Return: Pointer to parent.
 */
return parent pointer
@n           node to access

This returns a pointer to the parent of the given node @n. If @n does not
have a parent, NULL is returned. If @n is not linked, @n itself is returned.

You should not call this on unlinked or uninitialized nodes. If you do, you
better know its semantics.

Pointer to parent.
return parent pointer @n node to access This returns a pointer to the parent of the given node @n . If @n does not have a parent NULL is returned . If @n is not linked @n itself is returned . You should not call this on unlinked or uninitialized nodes . If you do you better know its semantics . Pointer to parent .
static inline CRBNode* c_rbnode_parent(CRBNode* n)
{
    return (n->__parent_and_flags & C_RBNODE_ROOT)
               ? NULL
               : (void*)(n->__parent_and_flags & ~C_RBNODE_FLAG_MASK);
}
static inline CRBNode * c_rbnode_parent ( CRBNode * n ) { return ( n -> __parent_and_flags & C_RBNODE_ROOT ) ? NULL : ( void * ) ( n -> __parent_and_flags & ~ C_RBNODE_FLAG_MASK ) ; }
c_rbnode_parent() - return parent pointer
 @n           node to access
c_rbnode_parent () - return parent pointer @n node to access