Netlink
========

.. toctree::
        :maxdepth: 1
        :hidden:
        :includehidden:

        Netlink/Basic_example/Basic_example
        Netlink/select/select
        Netlink/poll/poll
        Netlink/epoll/epoll

.. tab-set::

    .. tab-item:: select

        .. card:: select

                * :doc:`Netlink/Basic_example/Basic_example`

		.. panels::
                        :container: container pb-4
                        :column: col-lg-12 p-2
                        :card: shadow
                
                        Topics in this section,

                                * :ref:`program 1: netlink server and single client : single data transfer <netlink_single_data_transfer>`  
                                * :ref:`program 2: netlink server and single client : multiple data transfer <netlink_multiple_data_transfer>`      
                
.. tab-set::

    .. tab-item:: select

        .. card:: select

                * :doc:`Netlink/select/select`

		.. panels::
                        :container: container pb-4
                        :column: col-lg-12 p-2
                        :card: shadow

                        Topics in this section,

                                * :ref:`Netlink <select_netlink>`

                                * :ref:`Netlink socket FAQs <select_netlink_socket>`

                                * :ref:`step1 : User program Sequence Diagram nl_user.c <select_nl_user_sequence_diagram>`

                                * :ref:`step2 : User program nl_user.c <select_netlink_user_program>`
                
                                * :ref:`step3 : Kernel program nl_kernel.c <select_netlink_kernal_program>`
                
                                * :ref:`step4 : Makefile <select_netlink_makefile>`

                                * :ref:`step5 : Compile and Load <select_netlink_compile_and_load>`

                                * :ref:`Summary <select_netlink_summary>`

.. tab-set::

    .. tab-item:: poll

        .. card:: poll

                * :doc:`Netlink/poll/poll`

		.. panels::
                        :container: container pb-4
                        :column: col-lg-12 p-2
                        :card: shadow

                        Topics in this section,

                                * :ref:`Netlink <poll_netlink>`

                                * :ref:`Netlink socket FAQs <poll_netlink_socket>`

                                * :ref:`step1 : User program Sequence Diagram nl_user.c <poll_nl_user_sequence_diagram>`

                                * :ref:`step2 : User program nl_user.c <poll_netlink_user_program>`

                                * :ref:`step3 : Kernel program nl_kernel.c <poll_netlink_kernal_program>`

                                * :ref:`step4 : Makefile <poll_netlink_makefile>`

                                * :ref:`step5 : Compile and Load <poll_netlink_compile_and_load>`

                                * :ref:`Summary <poll_netlink_summary>`

.. tab-set::

    .. tab-item:: epoll

        .. card:: epoll

                * :doc:`Netlink/epoll/epoll`

		.. panels::
                        :container: container pb-4
                        :column: col-lg-12 p-2
                        :card: shadow

                        Topics in this section,

                                * :ref:`Netlink <epoll_netlink>`

                                * :ref:`Netlink socket FAQs <epoll_netlink_socket>`

                                * :ref:`step1 : User program Sequence Diagram nl_user.c <epoll_nl_user_sequence_diagram>`

                                * :ref:`step2 : User program nl_user.c <epoll_netlink_user_program>`

                                * :ref:`step3 : Kernel program nl_kernel.c <epoll_netlink_kernal_program>`

                                * :ref:`step4 : Makefile <epoll_netlink_makefile>`

                                * :ref:`step5 : Compile and Load <epoll_netlink_compile_and_load>`

                                * :ref:`Summary <epoll_netlink_summary>`


.. card:: See Also

        * Previous topic
                
                * :doc:`../NamedPipes/NamedPipes`

        * Current topic
                
                * :doc:`../Netlink/Netlink`

        * Other IPCs
                
                * :doc:`../Shared_Memory/Shared_Memory`
                * :doc:`../Shared_Memory_2_FDS/Shared_Memory_2_FDS`
                * :doc:`../SocketPair/SocketPair`
                * :doc:`../Timerfd/Timerfd`