Sphinx wants `c:struct:: foo` rather than `c:type:: struct foo`.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 types of Link State structure have been defined:
-.. c:type:: struct ls_node
+.. c:struct:: ls_node
that groups all information related to a node
-.. c:type:: struct ls_attributes
+.. c:struct:: ls_attributes
that groups all information related to a link
-.. c:type:: struct ls_prefix
+.. c:struct:: ls_prefix
that groups all information related to a prefix
indicates which parameters are valid i.e. for which the value is valid and
corresponds to a Link State information conveyed by the routing protocol.
-.. c:type:: struct ls_node_id
+.. c:struct:: ls_node_id
defines the Node identifier as router ID IPv4 address plus the area ID for
OSPF or the ISO System ID plus the IS-IS level for IS-IS.
4 data structures have been defined to implement the Graph model:
-.. c:type:: struct ls_vertex
-.. c:type:: struct ls_edge
-.. c:type:: struct ls_prefix
-.. c:type:: struct ls_ted
+.. c:struct:: ls_vertex
+.. c:struct:: ls_edge
+.. c:struct:: ls_ted
+
+ - :c:struct:`ls_prefix`
TED stores Vertex, Edge and Subnet elements with a RB Tree structure.
The Vertex key corresponds to the Router ID for OSPF and ISO System ID for
The Link State Message is defined to convey Link State parameters from
the routing protocol (OSPF or IS-IS) to other daemons e.g. BGP.
-.. c:type:: struct ls_message
+.. c:struct:: ls_message
The structure is composed of:
buffer. This function is safe to call regardless of the per-thread log
buffer being set up / in use or not.
-When working with threads that do not use the :c:type:`struct thread_master`
+When working with threads that do not use the :c:struct:`thread_master`
event loop, per-thread buffers can be managed with:
.. c:function:: void zlog_tls_buffer_init(void)
Basic internals
^^^^^^^^^^^^^^^
-.. c:type:: struct zlog_target
+.. c:struct:: zlog_target
This struct needs to be filled in by any log target and then passed to
:c:func:`zlog_target_replace()`. After it has been registered,
Allocates a logging target struct. Note that the ``oldzt`` argument may be
``NULL`` to allocate a "from scratch". If ``oldzt`` is not ``NULL``, the
- generic bits in :c:type:`struct zlog_target` are copied. **Target specific
+ generic bits in :c:struct:`zlog_target` are copied. **Target specific
bits are not copied.**
.. c:function:: struct zlog_target *zlog_target_replace(struct zlog_target *oldzt, struct zlog_target *newzt)
Definition
----------
-.. c:type:: struct memtype
+.. c:struct:: memtype
This is the (internal) type used for MTYPE definitions. The macros below
should be used to create these, but in some cases it is useful to pass a
become invalid, as another thread may have called :c:func:`rcu_free` on
them.
-.. c:type:: struct rcu_head
-.. c:type:: struct rcu_head_close
-.. c:type:: struct rcu_action
+.. c:struct:: rcu_head
+.. c:struct:: rcu_head_close
+.. c:struct:: rcu_action
The ``rcu_head`` structures are small (16-byte) bits that contain the
queueing machinery for the RCU sweeper/cleanup mechanisms.
Internals
^^^^^^^^^
-.. c:type:: struct rcu_thread
+.. c:struct:: rcu_thread
Per-thread state maintained by the RCU code, set up by the following
functions. A pointer to a thread's own ``rcu_thread`` is saved in