€•8Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ#/translations/zh_CN/networking/tipc”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/zh_TW/networking/tipc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/it_IT/networking/tipc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/ja_JP/networking/tipc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/ko_KR/networking/tipc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/pt_BR/networking/tipc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/sp_SP/networking/tipc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³Œ=/var/lib/git/docbuild/linux/Documentation/networking/tipc.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒLinux Kernel TIPC”h]”hŒLinux Kernel TIPC”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Introduction”h]”hŒ Introduction”…”�”}”(hhàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÝh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hXŠTIPC (Transparent Inter Process Communication) is a protocol that is specially designed for intra-cluster communication. It can be configured to transmit messages either on UDP or directly across Ethernet. Message delivery is sequence guaranteed, loss free and flow controlled. Latency times are shorter than with any other known protocol, while maximal throughput is comparable to that of TCP.”h]”hXŠTIPC (Transparent Inter Process Communication) is a protocol that is specially designed for intra-cluster communication. It can be configured to transmit messages either on UDP or directly across Ethernet. Message delivery is sequence guaranteed, loss free and flow controlled. Latency times are shorter than with any other known protocol, while maximal throughput is comparable to that of TCP.”…”�”}”(hhðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K hhÝh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ TIPC Features”h]”hŒ TIPC Features”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhþh²hh³hÇh´KubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hXSCluster wide IPC service Have you ever wished you had the convenience of Unix Domain Sockets even when transmitting data between cluster nodes? Where you yourself determine the addresses you want to bind to and use? Where you don't have to perform DNS lookups and worry about IP addresses? Where you don't have to start timers to monitor the continuous existence of peer sockets? And yet without the downsides of that socket type, such as the risk of lingering inodes? Welcome to the Transparent Inter Process Communication service, TIPC in short, which gives you all of this, and a lot more. ”h]”(hï)�”}”(hŒCluster wide IPC service”h]”hŒCluster wide IPC service”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khjubhï)�”}”(hX»Have you ever wished you had the convenience of Unix Domain Sockets even when transmitting data between cluster nodes? Where you yourself determine the addresses you want to bind to and use? Where you don't have to perform DNS lookups and worry about IP addresses? Where you don't have to start timers to monitor the continuous existence of peer sockets? And yet without the downsides of that socket type, such as the risk of lingering inodes?”h]”hX¿Have you ever wished you had the convenience of Unix Domain Sockets even when transmitting data between cluster nodes? Where you yourself determine the addresses you want to bind to and use? Where you don’t have to perform DNS lookups and worry about IP addresses? Where you don’t have to start timers to monitor the continuous existence of peer sockets? And yet without the downsides of that socket type, such as the risk of lingering inodes?”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khjubhï)�”}”(hŒ{Welcome to the Transparent Inter Process Communication service, TIPC in short, which gives you all of this, and a lot more.”h]”hŒ{Welcome to the Transparent Inter Process Communication service, TIPC in short, which gives you all of this, and a lot more.”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hŒòService Addressing A fundamental concept in TIPC is that of Service Addressing which makes it possible for a programmer to chose his own address, bind it to a server socket and let client programs use only that address for sending messages. ”h]”(hï)�”}”(hŒService Addressing”h]”hŒService Addressing”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K hjJubhï)�”}”(hŒÝA fundamental concept in TIPC is that of Service Addressing which makes it possible for a programmer to chose his own address, bind it to a server socket and let client programs use only that address for sending messages.”h]”hŒÝA fundamental concept in TIPC is that of Service Addressing which makes it possible for a programmer to chose his own address, bind it to a server socket and let client programs use only that address for sending messages.”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K"hjJubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hXService Tracking A client wanting to wait for the availability of a server, uses the Service Tracking mechanism to subscribe for binding and unbinding/close events for sockets with the associated service address. The service tracking mechanism can also be used for Cluster Topology Tracking, i.e., subscribing for availability/non-availability of cluster nodes. Likewise, the service tracking mechanism can be used for Cluster Connectivity Tracking, i.e., subscribing for up/down events for individual links between cluster nodes. ”h]”(hï)�”}”(hŒService Tracking”h]”hŒService Tracking”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K&hjpubhï)�”}”(hŒÃA client wanting to wait for the availability of a server, uses the Service Tracking mechanism to subscribe for binding and unbinding/close events for sockets with the associated service address.”h]”hŒÃA client wanting to wait for the availability of a server, uses the Service Tracking mechanism to subscribe for binding and unbinding/close events for sockets with the associated service address.”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K(hjpubhï)�”}”(hŒ”The service tracking mechanism can also be used for Cluster Topology Tracking, i.e., subscribing for availability/non-availability of cluster nodes.”h]”hŒ”The service tracking mechanism can also be used for Cluster Topology Tracking, i.e., subscribing for availability/non-availability of cluster nodes.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K,hjpubhï)�”}”(hŒ¨Likewise, the service tracking mechanism can be used for Cluster Connectivity Tracking, i.e., subscribing for up/down events for individual links between cluster nodes.”h]”hŒ¨Likewise, the service tracking mechanism can be used for Cluster Connectivity Tracking, i.e., subscribing for up/down events for individual links between cluster nodes.”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K/hjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hXÉTransmission Modes Using a service address, a client can send datagram messages to a server socket. Using the same address type, it can establish a connection towards an accepting server socket. It can also use a service address to create and join a Communication Group, which is the TIPC manifestation of a brokerless message bus. Multicast with very good performance and scalability is available both in datagram mode and in communication group mode. ”h]”(hï)�”}”(hŒTransmission Modes”h]”hŒTransmission Modes”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K3hj²ubhï)�”}”(hŒPUsing a service address, a client can send datagram messages to a server socket.”h]”hŒPUsing a service address, a client can send datagram messages to a server socket.”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K5hj²ubhï)�”}”(hŒ^Using the same address type, it can establish a connection towards an accepting server socket.”h]”hŒ^Using the same address type, it can establish a connection towards an accepting server socket.”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K7hj²ubhï)�”}”(hŒˆIt can also use a service address to create and join a Communication Group, which is the TIPC manifestation of a brokerless message bus.”h]”hŒˆIt can also use a service address to create and join a Communication Group, which is the TIPC manifestation of a brokerless message bus.”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K:hj²ubhï)�”}”(hŒxMulticast with very good performance and scalability is available both in datagram mode and in communication group mode.”h]”hŒxMulticast with very good performance and scalability is available both in datagram mode and in communication group mode.”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K=hj²ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hŒÇInter Node Links Communication between any two nodes in a cluster is maintained by one or two Inter Node Links, which both guarantee data traffic integrity and monitor the peer node's availability. ”h]”(hï)�”}”(hŒInter Node Links”h]”hŒInter Node Links”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K@hjubhï)�”}”(hŒ´Communication between any two nodes in a cluster is maintained by one or two Inter Node Links, which both guarantee data traffic integrity and monitor the peer node's availability.”h]”hŒ¶Communication between any two nodes in a cluster is maintained by one or two Inter Node Links, which both guarantee data traffic integrity and monitor the peer node’s availability.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KBhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hXCluster Scalability By applying the Overlapping Ring Monitoring algorithm on the inter node links it is possible to scale TIPC clusters up to 1000 nodes with a maintained neighbor failure discovery time of 1-2 seconds. For smaller clusters this time can be made much shorter. ”h]”(hï)�”}”(hŒCluster Scalability”h]”hŒCluster Scalability”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KFhj(ubhï)�”}”(hŒÿBy applying the Overlapping Ring Monitoring algorithm on the inter node links it is possible to scale TIPC clusters up to 1000 nodes with a maintained neighbor failure discovery time of 1-2 seconds. For smaller clusters this time can be made much shorter.”h]”hŒÿBy applying the Overlapping Ring Monitoring algorithm on the inter node links it is possible to scale TIPC clusters up to 1000 nodes with a maintained neighbor failure discovery time of 1-2 seconds. For smaller clusters this time can be made much shorter.”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KHhj(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hŒÇNeighbor Discovery Neighbor Node Discovery in the cluster is done by Ethernet broadcast or UDP multicast, when any of those services are available. If not, configured peer IP addresses can be used. ”h]”(hï)�”}”(hŒNeighbor Discovery”h]”hŒNeighbor Discovery”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KMhjNubhï)�”}”(hŒ²Neighbor Node Discovery in the cluster is done by Ethernet broadcast or UDP multicast, when any of those services are available. If not, configured peer IP addresses can be used.”h]”hŒ²Neighbor Node Discovery in the cluster is done by Ethernet broadcast or UDP multicast, when any of those services are available. If not, configured peer IP addresses can be used.”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KOhjNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hXKConfiguration When running TIPC in single node mode no configuration whatsoever is needed. When running in cluster mode TIPC must as a minimum be given a node address (before Linux 4.17) and told which interface to attach to. The "tipc" configuration tool makes is possible to add and maintain many more configuration parameters. ”h]”(hï)�”}”(hŒ Configuration”h]”hŒ Configuration”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KShjtubhï)�”}”(hX;When running TIPC in single node mode no configuration whatsoever is needed. When running in cluster mode TIPC must as a minimum be given a node address (before Linux 4.17) and told which interface to attach to. The "tipc" configuration tool makes is possible to add and maintain many more configuration parameters.”h]”hX?When running TIPC in single node mode no configuration whatsoever is needed. When running in cluster mode TIPC must as a minimum be given a node address (before Linux 4.17) and told which interface to attach to. The “tipcâ€� configuration tool makes is possible to add and maintain many more configuration parameters.”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KUhjtubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hXPerformance TIPC message transfer latency times are better than in any other known protocol. Maximal byte throughput for inter-node connections is still somewhat lower than for TCP, while they are superior for intra-node and inter-container throughput on the same host. ”h]”(hï)�”}”(hŒ Performance”h]”hŒ Performance”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K[hjšubhï)�”}”(hXTIPC message transfer latency times are better than in any other known protocol. Maximal byte throughput for inter-node connections is still somewhat lower than for TCP, while they are superior for intra-node and inter-container throughput on the same host.”h]”hXTIPC message transfer latency times are better than in any other known protocol. Maximal byte throughput for inter-node connections is still somewhat lower than for TCP, while they are superior for intra-node and inter-container throughput on the same host.”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K]hjšubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hŒULanguage Support The TIPC user API has support for C, Python, Perl, Ruby, D and Go. ”h]”(hï)�”}”(hŒLanguage Support”h]”hŒLanguage Support”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KbhjÀubhï)�”}”(hŒBThe TIPC user API has support for C, Python, Perl, Ruby, D and Go.”h]”hŒBThe TIPC user API has support for C, Python, Perl, Ruby, D and Go.”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KdhjÀubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jh³hÇh´Khhþh²hubeh}”(h]”Œ tipc-features”ah ]”h"]”Œ tipc features”ah$]”h&]”uh1hÈhhÝh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒMore Information”h]”hŒMore Information”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjöh²hh³hÇh´Kgubj)�”}”(hhh]”(j)�”}”(hŒ9How to set up TIPC: http://tipc.io/getting_started.html ”h]”(hï)�”}”(hŒHow to set up TIPC:”h]”hŒHow to set up TIPC:”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kihj ubhï)�”}”(hŒ#http://tipc.io/getting_started.html”h]”hŒ reference”“”)�”}”(hjh]”hŒ#http://tipc.io/getting_started.html”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”juh1j hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kkhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hŒ;How to program with TIPC: http://tipc.io/programming.html ”h]”(hï)�”}”(hŒHow to program with TIPC:”h]”hŒHow to program with TIPC:”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kmhj<ubhï)�”}”(hŒhttp://tipc.io/programming.html”h]”j!)�”}”(hjPh]”hŒhttp://tipc.io/programming.html”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jPuh1j hjNubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kohj<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hŒ9How to contribute to TIPC: http://tipc.io/contacts.html ”h]”(hï)�”}”(hŒHow to contribute to TIPC:”h]”hŒHow to contribute to TIPC:”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kqhjlubhï)�”}”(hŒhttp://tipc.io/contacts.html”h]”j!)�”}”(hj€h]”hŒhttp://tipc.io/contacts.html”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j€uh1j hj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kshjlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubj)�”}”(hŒFMore details about TIPC specification: http://tipc.io/protocol.html ”h]”(hï)�”}”(hŒ&More details about TIPC specification:”h]”hŒ&More details about TIPC specification:”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kuhjœubhï)�”}”(hŒhttp://tipc.io/protocol.html”h]”j!)�”}”(hj°h]”hŒhttp://tipc.io/protocol.html”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j°uh1j hj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Kwhjœubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjh²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jìjíuh1jh³hÇh´Kihjöh²hubeh}”(h]”Œmore-information”ah ]”h"]”Œmore information”ah$]”h&]”uh1hÈhhÝh²hh³hÇh´Kgubeh}”(h]”Œ introduction”ah ]”h"]”Œ introduction”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒImplementation”h]”hŒImplementation”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjâh²hh³hÇh´K{ubhï)�”}”(hŒ>TIPC is implemented as a kernel module in net/tipc/ directory.”h]”hŒ>TIPC is implemented as a kernel module in net/tipc/ directory.”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K}hjâh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTIPC Base Types”h]”hŒTIPC Base Types”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²hh³hÇh´K€ubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œtipc_subscription (C struct)”Œc.tipc_subscription”hNt”auh1jhjh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒtipc_subscription”h]”hŒdesc_signature_line”“”)�”}”(hŒstruct tipc_subscription”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1j4hj0h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jFhj0h²hh³jEh´KubhŒ desc_name”“”)�”}”(hŒtipc_subscription”h]”hŒ desc_sig_name”“”)�”}”(hj,h]”hŒtipc_subscription”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j]hjYubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1jWhj0h²hh³jEh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1j.Œsphinx_line_type”Œ declarator”hj*h²hh³jEh´Kubah}”(h]”j!ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j(h³jEh´Khj%h²hubhŒ desc_content”“”)�”}”(hhh]”hï)�”}”(hŒ)TIPC network topology subscription object”h]”hŒ)TIPC network topology subscription object”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´K3hj‹h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj%h²hh³jEh´Kubeh}”(h]”h ]”(Œc”Œstruct”eh"]”h$]”h&]”Œdomain”j¦Œobjtype”j§Œdesctype”j§Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j#h²hhjh³Nh´NubhŒ container”“”)�”}”(hX”**Definition**:: struct tipc_subscription { struct tipc_subscr s; struct tipc_event evt; struct kref kref; struct net *net; struct timer_list timer; struct list_head service_list; struct list_head sub_list; int conid; bool inactive; spinlock_t lock; }; **Members** ``s`` host-endian copy of the user subscription ``evt`` template for events generated by subscription ``kref`` reference count for this subscription ``net`` network namespace associated with subscription ``timer`` timer governing subscription duration (optional) ``service_list`` adjacent subscriptions in name sequence's subscription list ``sub_list`` adjacent subscriptions in subscriber's subscription list ``conid`` connection identifier of topology server ``inactive`` true if this subscription is inactive ``lock`` serialize up/down and timer events”h]”(hï)�”}”(hŒ**Definition**::”h]”(hŒstrong”“”)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj·ubhŒ:”…”�”}”(hj·h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´K7hj³ubhŒ literal_block”“”)�”}”(hXstruct tipc_subscription { struct tipc_subscr s; struct tipc_event evt; struct kref kref; struct net *net; struct timer_list timer; struct list_head service_list; struct list_head sub_list; int conid; bool inactive; spinlock_t lock; };”h]”hXstruct tipc_subscription { struct tipc_subscr s; struct tipc_event evt; struct kref kref; struct net *net; struct timer_list timer; struct list_head service_list; struct list_head sub_list; int conid; bool inactive; spinlock_t lock; };”…”�”}”hjØsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´K9hj³ubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hjéh]”hŒMembers”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjçubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´KFhj³ubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ0``s`` host-endian copy of the user subscription ”h]”(hŒterm”“”)�”}”(hŒ``s``”h]”hŒliteral”“”)�”}”(hjh]”hŒs”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´K5hjubhŒ definition”“”)�”}”(hhh]”hï)�”}”(hŒ)host-endian copy of the user subscription”h]”hŒ)host-endian copy of the user subscription”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j%h´K5hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j%h´K5hjubj)�”}”(hŒ6``evt`` template for events generated by subscription ”h]”(j )�”}”(hŒ``evt``”h]”j)�”}”(hjKh]”hŒevt”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjIubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´K6hjEubj')�”}”(hhh]”hï)�”}”(hŒ-template for events generated by subscription”h]”hŒ-template for events generated by subscription”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j`h´K6hjaubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j`h´K6hjubj)�”}”(hŒ/``kref`` reference count for this subscription ”h]”(j )�”}”(hŒ``kref``”h]”j)�”}”(hj„h]”hŒkref”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´K7hj~ubj')�”}”(hhh]”hï)�”}”(hŒ%reference count for this subscription”h]”hŒ%reference count for this subscription”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j™h´K7hjšubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j™h´K7hjubj)�”}”(hŒ7``net`` network namespace associated with subscription ”h]”(j )�”}”(hŒ``net``”h]”j)�”}”(hj½h]”hŒnet”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´K8hj·ubj')�”}”(hhh]”hï)�”}”(hŒ.network namespace associated with subscription”h]”hŒ.network namespace associated with subscription”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÒh´K8hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÒh´K8hjubj)�”}”(hŒ;``timer`` timer governing subscription duration (optional) ”h]”(j )�”}”(hŒ ``timer``”h]”j)�”}”(hjöh]”hŒtimer”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjôubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´K9hjðubj')�”}”(hhh]”hï)�”}”(hŒ0timer governing subscription duration (optional)”h]”hŒ0timer governing subscription duration (optional)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j h´K9hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j h´K9hjubj)�”}”(hŒM``service_list`` adjacent subscriptions in name sequence's subscription list ”h]”(j )�”}”(hŒ``service_list``”h]”j)�”}”(hj/h]”hŒ service_list”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´K:hj)ubj')�”}”(hhh]”hï)�”}”(hŒ;adjacent subscriptions in name sequence's subscription list”h]”hŒ=adjacent subscriptions in name sequence’s subscription list”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jDh´K:hjEubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jDh´K:hjubj)�”}”(hŒF``sub_list`` adjacent subscriptions in subscriber's subscription list ”h]”(j )�”}”(hŒ ``sub_list``”h]”j)�”}”(hjhh]”hŒsub_list”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjfubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´K;hjbubj')�”}”(hhh]”hï)�”}”(hŒ8adjacent subscriptions in subscriber's subscription list”h]”hŒ:adjacent subscriptions in subscriber’s subscription list”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j}h´K;hj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjbubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j}h´K;hjubj)�”}”(hŒ3``conid`` connection identifier of topology server ”h]”(j )�”}”(hŒ ``conid``”h]”j)�”}”(hj¡h]”hŒconid”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:130: ./net/tipc/subscr.h”h´Khj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j(h´K=hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj³ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_media_addr (C struct)”Œc.tipc_media_addr”hNt”auh1jhjh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´Nubj$)�”}”(hhh]”(j))�”}”(hŒtipc_media_addr”h]”j/)�”}”(hŒstruct tipc_media_addr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjjh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjjh²hh³j{h´KubjX)�”}”(hŒtipc_media_addr”h]”j^)�”}”(hjhh]”hŒtipc_media_addr”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŠubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjjh²hh³j{h´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjfh²hh³j{h´Kubah}”(h]”j`ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j{h´Khjch²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ(destination address used by TIPC bearers”h]”hŒ(destination address used by TIPC bearers”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KOhj­h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjch²hh³j{h´Kubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬jÈj­jÈj®‰j¯‰j°‰uh1j#h²hhjh³jbh´Nubj²)�”}”(hX&**Definition**:: struct tipc_media_addr { u8 value[TIPC_MEDIA_INFO_SIZE]; u8 media_id; u8 broadcast; }; **Members** ``value`` address info (format defined by media) ``media_id`` TIPC media type identifier ``broadcast`` non-zero if address is a broadcast address”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÐubhŒ:”…”�”}”(hjÐh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KShjÌubj×)�”}”(hŒbstruct tipc_media_addr { u8 value[TIPC_MEDIA_INFO_SIZE]; u8 media_id; u8 broadcast; };”h]”hŒbstruct tipc_media_addr { u8 value[TIPC_MEDIA_INFO_SIZE]; u8 media_id; u8 broadcast; };”…”�”}”hjísbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KUhjÌubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hjþh]”hŒMembers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjüubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´K[hjÌubj)�”}”(hhh]”(j)�”}”(hŒ1``value`` address info (format defined by media) ”h]”(j )�”}”(hŒ ``value``”h]”j)�”}”(hjh]”hŒvalue”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KQhjubj')�”}”(hhh]”hï)�”}”(hŒ&address info (format defined by media)”h]”hŒ&address info (format defined by media)”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j2h´KQhj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j2h´KQhjubj)�”}”(hŒ(``media_id`` TIPC media type identifier ”h]”(j )�”}”(hŒ ``media_id``”h]”j)�”}”(hjVh]”hŒmedia_id”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjTubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KRhjPubj')�”}”(hhh]”hï)�”}”(hŒTIPC media type identifier”h]”hŒTIPC media type identifier”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jkh´KRhjlubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jkh´KRhjubj)�”}”(hŒ8``broadcast`` non-zero if address is a broadcast address”h]”(j )�”}”(hŒ ``broadcast``”h]”j)�”}”(hj�h]”hŒ broadcast”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KRhj‰ubj')�”}”(hhh]”hï)�”}”(hŒ*non-zero if address is a broadcast address”h]”hŒ*non-zero if address is a broadcast address”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KShj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¤h´KRhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÌubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjh²hh³jbh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_media (C struct)”Œ c.tipc_media”hNt”auh1jhjh²hh³jbh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ tipc_media”h]”j/)�”}”(hŒstruct tipc_media”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjåh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KYubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjåh²hh³jöh´KYubjX)�”}”(hŒ tipc_media”h]”j^)�”}”(hjãh]”hŒ tipc_media”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjåh²hh³jöh´KYubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjáh²hh³jöh´KYubah}”(h]”jÜah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jöh´KYhjÞh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ3Media specific info exposed to generic bearer layer”h]”hŒ3Media specific info exposed to generic bearer layer”…”�”}”(hj+ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´K]hj( h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÞh²hh³jöh´KYubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬jC j­jC j®‰j¯‰j°‰uh1j#h²hhjh³jbh´Nubj²)�”}”(hX³**Definition**:: struct tipc_media { int (*send_msg)(struct net *net, struct sk_buff *buf, struct tipc_bearer *b, struct tipc_media_addr *dest); int (*enable_media)(struct net *net, struct tipc_bearer *b, struct nlattr *attr[]); void (*disable_media)(struct tipc_bearer *b); int (*addr2str)(struct tipc_media_addr *addr, char *strbuf, int bufsz); int (*addr2msg)(char *msg, struct tipc_media_addr *addr); int (*msg2addr)(struct tipc_bearer *b, struct tipc_media_addr *addr, char *msg); int (*raw2addr)(struct tipc_bearer *b, struct tipc_media_addr *addr, const char *raw); u32 priority; u32 tolerance; u32 min_win; u32 max_win; u32 mtu; u32 type_id; u32 hwaddr_len; char name[TIPC_MAX_MEDIA_NAME]; }; **Members** ``send_msg`` routine which handles buffer transmission ``enable_media`` routine which enables a media ``disable_media`` routine which disables a media ``addr2str`` convert media address format to string ``addr2msg`` convert from media addr format to discovery msg addr format ``msg2addr`` convert from discovery msg addr format to media addr format ``raw2addr`` convert from raw addr format to media addr format ``priority`` default link (and bearer) priority ``tolerance`` default time (in ms) before declaring link failure ``min_win`` minimum window (in packets) before declaring link congestion ``max_win`` maximum window (in packets) before declaring link congestion ``mtu`` max packet size bearer can support for media type not dependent on underlying device MTU ``type_id`` TIPC media identifier ``hwaddr_len`` TIPC media address len ``name`` media name”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjK ubhŒ:”…”�”}”(hjK h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KahjG ubj×)�”}”(hXçstruct tipc_media { int (*send_msg)(struct net *net, struct sk_buff *buf, struct tipc_bearer *b, struct tipc_media_addr *dest); int (*enable_media)(struct net *net, struct tipc_bearer *b, struct nlattr *attr[]); void (*disable_media)(struct tipc_bearer *b); int (*addr2str)(struct tipc_media_addr *addr, char *strbuf, int bufsz); int (*addr2msg)(char *msg, struct tipc_media_addr *addr); int (*msg2addr)(struct tipc_bearer *b, struct tipc_media_addr *addr, char *msg); int (*raw2addr)(struct tipc_bearer *b, struct tipc_media_addr *addr, const char *raw); u32 priority; u32 tolerance; u32 min_win; u32 max_win; u32 mtu; u32 type_id; u32 hwaddr_len; char name[TIPC_MAX_MEDIA_NAME]; };”h]”hXçstruct tipc_media { int (*send_msg)(struct net *net, struct sk_buff *buf, struct tipc_bearer *b, struct tipc_media_addr *dest); int (*enable_media)(struct net *net, struct tipc_bearer *b, struct nlattr *attr[]); void (*disable_media)(struct tipc_bearer *b); int (*addr2str)(struct tipc_media_addr *addr, char *strbuf, int bufsz); int (*addr2msg)(char *msg, struct tipc_media_addr *addr); int (*msg2addr)(struct tipc_bearer *b, struct tipc_media_addr *addr, char *msg); int (*raw2addr)(struct tipc_bearer *b, struct tipc_media_addr *addr, const char *raw); u32 priority; u32 tolerance; u32 min_win; u32 max_win; u32 mtu; u32 type_id; u32 hwaddr_len; char name[TIPC_MAX_MEDIA_NAME]; };”…”�”}”hjh sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KchjG ubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hjy h]”hŒMembers”…”�”}”(hj{ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjw ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KuhjG ubj)�”}”(hhh]”(j)�”}”(hŒ7``send_msg`` routine which handles buffer transmission ”h]”(j )�”}”(hŒ ``send_msg``”h]”j)�”}”(hj˜ h]”hŒsend_msg”…”�”}”(hjš h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj– ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´K_hj’ ubj')�”}”(hhh]”hï)�”}”(hŒ)routine which handles buffer transmission”h]”hŒ)routine which handles buffer transmission”…”�”}”(hj± h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j­ h´K_hj® ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj’ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j­ h´K_hj� ubj)�”}”(hŒ/``enable_media`` routine which enables a media ”h]”(j )�”}”(hŒ``enable_media``”h]”j)�”}”(hjÑ h]”hŒ enable_media”…”�”}”(hjÓ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÏ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´K`hjË ubj')�”}”(hhh]”hï)�”}”(hŒroutine which enables a media”h]”hŒroutine which enables a media”…”�”}”(hjê h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jæ h´K`hjç ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjË ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jæ h´K`hj� ubj)�”}”(hŒ1``disable_media`` routine which disables a media ”h]”(j )�”}”(hŒ``disable_media``”h]”j)�”}”(hj h]”hŒ disable_media”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´Kahj ubj')�”}”(hhh]”hï)�”}”(hŒroutine which disables a media”h]”hŒroutine which disables a media”…”�”}”(hj# h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j h´Kahj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j h´Kahj� ubj)�”}”(hŒ4``addr2str`` convert media address format to string ”h]”(j )�”}”(hŒ ``addr2str``”h]”j)�”}”(hjC h]”hŒaddr2str”…”�”}”(hjE h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjA ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´Kbhj= ubj')�”}”(hhh]”hï)�”}”(hŒ&convert media address format to string”h]”hŒ&convert media address format to string”…”�”}”(hj\ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jX h´KbhjY ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj= ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jX h´Kbhj� ubj)�”}”(hŒI``addr2msg`` convert from media addr format to discovery msg addr format ”h]”(j )�”}”(hŒ ``addr2msg``”h]”j)�”}”(hj| h]”hŒaddr2msg”…”�”}”(hj~ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjz ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´Kchjv ubj')�”}”(hhh]”hï)�”}”(hŒ;convert from media addr format to discovery msg addr format”h]”hŒ;convert from media addr format to discovery msg addr format”…”�”}”(hj• h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j‘ h´Kchj’ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjv ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‘ h´Kchj� ubj)�”}”(hŒI``msg2addr`` convert from discovery msg addr format to media addr format ”h]”(j )�”}”(hŒ ``msg2addr``”h]”j)�”}”(hjµ h]”hŒmsg2addr”…”�”}”(hj· h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj³ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´Kdhj¯ ubj')�”}”(hhh]”hï)�”}”(hŒ;convert from discovery msg addr format to media addr format”h]”hŒ;convert from discovery msg addr format to media addr format”…”�”}”(hjÎ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÊ h´KdhjË ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¯ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÊ h´Kdhj� ubj)�”}”(hŒ?``raw2addr`` convert from raw addr format to media addr format ”h]”(j )�”}”(hŒ ``raw2addr``”h]”j)�”}”(hjî h]”hŒraw2addr”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjì ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´Kehjè ubj')�”}”(hhh]”hï)�”}”(hŒ1convert from raw addr format to media addr format”h]”hŒ1convert from raw addr format to media addr format”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j h´Kehj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjè ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j h´Kehj� ubj)�”}”(hŒ0``priority`` default link (and bearer) priority ”h]”(j )�”}”(hŒ ``priority``”h]”j)�”}”(hj' h]”hŒpriority”…”�”}”(hj) h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj% ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´Kfhj! ubj')�”}”(hhh]”hï)�”}”(hŒ"default link (and bearer) priority”h]”hŒ"default link (and bearer) priority”…”�”}”(hj@ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j< h´Kfhj= ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj! ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j< h´Kfhj� ubj)�”}”(hŒA``tolerance`` default time (in ms) before declaring link failure ”h]”(j )�”}”(hŒ ``tolerance``”h]”j)�”}”(hj` h]”hŒ tolerance”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´KghjZ ubj')�”}”(hhh]”hï)�”}”(hŒ2default time (in ms) before declaring link failure”h]”hŒ2default time (in ms) before declaring link failure”…”�”}”(hjy h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ju h´Kghjv ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjZ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³ju h´Kghj� ubj)�”}”(hŒI``min_win`` minimum window (in packets) before declaring link congestion ”h]”(j )�”}”(hŒ ``min_win``”h]”j)�”}”(hj™ h]”hŒmin_win”…”�”}”(hj› h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj— ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:133: ./net/tipc/bearer.h”h´Khhj“ ubj')�”}”(hhh]”hï)�”}”(hŒpubl_list; Used by node/name distr to withdraw publications when node is lost - Local/node scope publications: in name_table->node_scope list - Local/cluster scope publications: in name_table->cluster_scope list ``binding_sock`` all publications from the same socket which bound this one Used by socket to withdraw publications when socket is unbound/released ``local_publ`` list of identical publications made from this node Used by closest_first and multicast receive lookup algorithms ``all_publ`` all publications identical to this one, whatever node and scope Used by round-robin lookup algorithm ``list`` to form a list of publications in temporal order ``rcu`` RCU callback head used for deferred freeing”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¥ubhŒ:”…”�”}”(hj¥h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´K=hj¡ubj×)�”}”(hX;struct publication { struct tipc_service_range sr; struct tipc_socket_addr sk; u16 scope; u32 key; u32 id; struct list_head binding_node; struct list_head binding_sock; struct list_head local_publ; struct list_head all_publ; struct list_head list; struct rcu_head rcu; };”h]”hX;struct publication { struct tipc_service_range sr; struct tipc_socket_addr sk; u16 scope; u32 key; u32 id; struct list_head binding_node; struct list_head binding_sock; struct list_head local_publ; struct list_head all_publ; struct list_head list; struct rcu_head rcu; };”…”�”}”hjÂsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´K?hj¡ubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hjÓh]”hŒMembers”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KMhj¡ubj)�”}”(hhh]”(j)�”}”(hŒ5``sr`` service range represented by this publication ”h]”(j )�”}”(hŒ``sr``”h]”j)�”}”(hjòh]”hŒsr”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjðubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´K;hjìubj')�”}”(hhh]”hï)�”}”(hŒ-service range represented by this publication”h]”hŒ-service range represented by this publication”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jh´K;hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjìubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´K;hjéubj)�”}”(hŒ3``sk`` address of socket bound to this publication ”h]”(j )�”}”(hŒ``sk``”h]”j)�”}”(hj+h]”hŒsk”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´Khj—ubj')�”}”(hhh]”hï)�”}”(hŒ*publication key, unique across the cluster”h]”hŒ*publication key, unique across the cluster”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j²h´K>hj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j²h´K>hjéubj)�”}”(hŒ``id`` publication id ”h]”(j )�”}”(hŒ``id``”h]”j)�”}”(hjÖh]”hŒid”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´K?hjÐubj')�”}”(hhh]”hï)�”}”(hŒpublication id”h]”hŒpublication id”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jëh´K?hjìubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jëh´K?hjéubj)�”}”(hX>``binding_node`` all publications from the same node which bound this one - Remote publications: in node->publ_list; Used by node/name distr to withdraw publications when node is lost - Local/node scope publications: in name_table->node_scope list - Local/cluster scope publications: in name_table->cluster_scope list ”h]”(j )�”}”(hŒ``binding_node``”h]”j)�”}”(hjh]”hŒ binding_node”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KDhj ubj')�”}”(hhh]”hï)�”}”(hX,all publications from the same node which bound this one - Remote publications: in node->publ_list; Used by node/name distr to withdraw publications when node is lost - Local/node scope publications: in name_table->node_scope list - Local/cluster scope publications: in name_table->cluster_scope list”h]”hX,all publications from the same node which bound this one - Remote publications: in node->publ_list; Used by node/name distr to withdraw publications when node is lost - Local/node scope publications: in name_table->node_scope list - Local/cluster scope publications: in name_table->cluster_scope list”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´K@hj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j$h´KDhjéubj)�”}”(hŒ”``binding_sock`` all publications from the same socket which bound this one Used by socket to withdraw publications when socket is unbound/released ”h]”(j )�”}”(hŒ``binding_sock``”h]”j)�”}”(hjIh]”hŒ binding_sock”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KFhjCubj')�”}”(hhh]”hï)�”}”(hŒ‚all publications from the same socket which bound this one Used by socket to withdraw publications when socket is unbound/released”h]”hŒ‚all publications from the same socket which bound this one Used by socket to withdraw publications when socket is unbound/released”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KEhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j^h´KFhjéubj)�”}”(hŒ€``local_publ`` list of identical publications made from this node Used by closest_first and multicast receive lookup algorithms ”h]”(j )�”}”(hŒ``local_publ``”h]”j)�”}”(hjƒh]”hŒ local_publ”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KHhj}ubj')�”}”(hhh]”hï)�”}”(hŒplist of identical publications made from this node Used by closest_first and multicast receive lookup algorithms”h]”hŒplist of identical publications made from this node Used by closest_first and multicast receive lookup algorithms”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KGhj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j˜h´KHhjéubj)�”}”(hŒr``all_publ`` all publications identical to this one, whatever node and scope Used by round-robin lookup algorithm ”h]”(j )�”}”(hŒ ``all_publ``”h]”j)�”}”(hj½h]”hŒall_publ”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KJhj·ubj')�”}”(hhh]”hï)�”}”(hŒdall publications identical to this one, whatever node and scope Used by round-robin lookup algorithm”h]”hŒdall publications identical to this one, whatever node and scope Used by round-robin lookup algorithm”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KIhjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÒh´KJhjéubj)�”}”(hŒ:``list`` to form a list of publications in temporal order ”h]”(j )�”}”(hŒ``list``”h]”j)�”}”(hj÷h]”hŒlist”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KKhjñubj')�”}”(hhh]”hï)�”}”(hŒ0to form a list of publications in temporal order”h]”hŒ0to form a list of publications in temporal order”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j h´KKhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j h´KKhjéubj)�”}”(hŒ3``rcu`` RCU callback head used for deferred freeing”h]”(j )�”}”(hŒ``rcu``”h]”j)�”}”(hj0h]”hŒrcu”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KKhj*ubj')�”}”(hhh]”hï)�”}”(hŒ+RCU callback head used for deferred freeing”h]”hŒ+RCU callback head used for deferred freeing”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KLhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jEh´KKhjéubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj¡ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒname_table (C struct)”Œ c.name_table”hNt”auh1jhjh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ name_table”h]”j/)�”}”(hŒstruct name_table”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj†h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KRubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj†h²hh³j—h´KRubjX)�”}”(hŒ name_table”h]”j^)�”}”(hj„h]”hŒ name_table”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¦ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj†h²hh³j—h´KRubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj‚h²hh³j—h´KRubah}”(h]”j}ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j—h´KRhjh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ4table containing all existing port name publications”h]”hŒ4table containing all existing port name publications”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´K\hjÉh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjh²hh³j—h´KRubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬jäj­jäj®‰j¯‰j°‰uh1j#h²hhjh³Nh´Nubj²)�”}”(hX‹**Definition**:: struct name_table { struct rcu_head rcu; struct hlist_head services[TIPC_NAMETBL_SIZE]; struct list_head node_scope; struct list_head cluster_scope; rwlock_t cluster_scope_lock; u32 local_publ_count; u32 rc_dests; u32 snd_nxt; }; **Members** ``rcu`` RCU callback head used for deferred freeing ``services`` name sequence hash lists ``node_scope`` all local publications with node scope - used by name_distr during re-init of name table ``cluster_scope`` all local publications with cluster scope - used by name_distr to send bulk updates to new nodes - used by name_distr during re-init of name table ``cluster_scope_lock`` lock for accessing **cluster_scope** ``local_publ_count`` number of publications issued by this node ``rc_dests`` destination node counter ``snd_nxt`` next sequence number to be used”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjìubhŒ:”…”�”}”(hjìh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´K`hjèubj×)�”}”(hXstruct name_table { struct rcu_head rcu; struct hlist_head services[TIPC_NAMETBL_SIZE]; struct list_head node_scope; struct list_head cluster_scope; rwlock_t cluster_scope_lock; u32 local_publ_count; u32 rc_dests; u32 snd_nxt; };”h]”hXstruct name_table { struct rcu_head rcu; struct hlist_head services[TIPC_NAMETBL_SIZE]; struct list_head node_scope; struct list_head cluster_scope; rwlock_t cluster_scope_lock; u32 local_publ_count; u32 rc_dests; u32 snd_nxt; };”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´Kbhjèubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hjh]”hŒMembers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´Kmhjèubj)�”}”(hhh]”(j)�”}”(hŒ4``rcu`` RCU callback head used for deferred freeing ”h]”(j )�”}”(hŒ``rcu``”h]”j)�”}”(hj9h]”hŒrcu”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´K^hj3ubj')�”}”(hhh]”hï)�”}”(hŒ+RCU callback head used for deferred freeing”h]”hŒ+RCU callback head used for deferred freeing”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jNh´K^hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jNh´K^hj0ubj)�”}”(hŒ&``services`` name sequence hash lists ”h]”(j )�”}”(hŒ ``services``”h]”j)�”}”(hjrh]”hŒservices”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´K_hjlubj')�”}”(hhh]”hï)�”}”(hŒname sequence hash lists”h]”hŒname sequence hash lists”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j‡h´K_hjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‡h´K_hj0ubj)�”}”(hŒh``node_scope`` all local publications with node scope - used by name_distr during re-init of name table ”h]”(j )�”}”(hŒ``node_scope``”h]”j)�”}”(hj«h]”hŒ node_scope”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´Kahj¥ubj')�”}”(hhh]”hï)�”}”(hŒXall local publications with node scope - used by name_distr during re-init of name table”h]”hŒXall local publications with node scope - used by name_distr during re-init of name table”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´K`hjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÀh´Kahj0ubj)�”}”(hŒ¥``cluster_scope`` all local publications with cluster scope - used by name_distr to send bulk updates to new nodes - used by name_distr during re-init of name table ”h]”(j )�”}”(hŒ``cluster_scope``”h]”j)�”}”(hjåh]”hŒ cluster_scope”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjãubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´Kdhjßubj')�”}”(hhh]”hï)�”}”(hŒ’all local publications with cluster scope - used by name_distr to send bulk updates to new nodes - used by name_distr during re-init of name table”h]”hŒ’all local publications with cluster scope - used by name_distr to send bulk updates to new nodes - used by name_distr during re-init of name table”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´Kbhjûubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjßubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³júh´Kdhj0ubj)�”}”(hŒ<``cluster_scope_lock`` lock for accessing **cluster_scope** ”h]”(j )�”}”(hŒ``cluster_scope_lock``”h]”j)�”}”(hjh]”hŒcluster_scope_lock”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´Kehjubj')�”}”(hhh]”hï)�”}”(hŒ$lock for accessing **cluster_scope**”h]”(hŒlock for accessing ”…”�”}”(hj8h²hh³Nh´Nubj¼)�”}”(hŒ**cluster_scope**”h]”hŒ cluster_scope”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j4h´Kehj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j4h´Kehj0ubj)�”}”(hŒ@``local_publ_count`` number of publications issued by this node ”h]”(j )�”}”(hŒ``local_publ_count``”h]”j)�”}”(hjfh]”hŒlocal_publ_count”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjdubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´Kfhj`ubj')�”}”(hhh]”hï)�”}”(hŒ*number of publications issued by this node”h]”hŒ*number of publications issued by this node”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j{h´Kfhj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j{h´Kfhj0ubj)�”}”(hŒ&``rc_dests`` destination node counter ”h]”(j )�”}”(hŒ ``rc_dests``”h]”j)�”}”(hjŸh]”hŒrc_dests”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´Kghj™ubj')�”}”(hhh]”hï)�”}”(hŒdestination node counter”h]”hŒdestination node counter”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j´h´Kghjµubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j´h´Kghj0ubj)�”}”(hŒ+``snd_nxt`` next sequence number to be used”h]”(j )�”}”(hŒ ``snd_nxt``”h]”j)�”}”(hjØh]”hŒsnd_nxt”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´KghjÒubj')�”}”(hhh]”hï)�”}”(hŒnext sequence number to be used”h]”hŒnext sequence number to be used”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:136: ./net/tipc/name_table.h”h´Khhjîubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jíh´Kghj0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjèubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒdistr_item (C struct)”Œ c.distr_item”hNt”auh1jhjh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´Nubj$)�”}”(hhh]”(j))�”}”(hŒ distr_item”h]”j/)�”}”(hŒstruct distr_item”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj/h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj/h²hh³j@h´KubjX)�”}”(hŒ distr_item”h]”j^)�”}”(hj-h]”hŒ distr_item”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjOubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj/h²hh³j@h´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj+h²hh³j@h´Kubah}”(h]”j%ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j@h´Khj(h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ+publication info distributed to other nodes”h]”hŒ+publication info distributed to other nodes”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K-hjrh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj(h²hh³j@h´Kubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬j�j­j�j®‰j¯‰j°‰uh1j#h²hhjh³j'h´Nubj²)�”}”(hXG**Definition**:: struct distr_item { __be32 type; __be32 lower; __be32 upper; __be32 port; __be32 key; }; **Members** ``type`` name sequence type ``lower`` name sequence lower bound ``upper`` name sequence upper bound ``port`` publishing port reference ``key`` publication key”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj•ubhŒ:”…”�”}”(hj•h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K1hj‘ubj×)�”}”(hŒlstruct distr_item { __be32 type; __be32 lower; __be32 upper; __be32 port; __be32 key; };”h]”hŒlstruct distr_item { __be32 type; __be32 lower; __be32 upper; __be32 port; __be32 key; };”…”�”}”hj²sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K3hj‘ubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hjÃh]”hŒMembers”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K;hj‘ubj)�”}”(hhh]”(j)�”}”(hŒ``type`` name sequence type ”h]”(j )�”}”(hŒ``type``”h]”j)�”}”(hjâh]”hŒtype”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjàubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K/hjÜubj')�”}”(hhh]”hï)�”}”(hŒname sequence type”h]”hŒname sequence type”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j÷h´K/hjøubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j÷h´K/hjÙubj)�”}”(hŒ$``lower`` name sequence lower bound ”h]”(j )�”}”(hŒ ``lower``”h]”j)�”}”(hjh]”hŒlower”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K0hjubj')�”}”(hhh]”hï)�”}”(hŒname sequence lower bound”h]”hŒname sequence lower bound”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j0h´K0hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j0h´K0hjÙubj)�”}”(hŒ$``upper`` name sequence upper bound ”h]”(j )�”}”(hŒ ``upper``”h]”j)�”}”(hjTh]”hŒupper”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjRubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K1hjNubj')�”}”(hhh]”hï)�”}”(hŒname sequence upper bound”h]”hŒname sequence upper bound”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jih´K1hjjubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jih´K1hjÙubj)�”}”(hŒ#``port`` publishing port reference ”h]”(j )�”}”(hŒ``port``”h]”j)�”}”(hj�h]”hŒport”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K2hj‡ubj')�”}”(hhh]”hï)�”}”(hŒpublishing port reference”h]”hŒpublishing port reference”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¢h´K2hj£ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¢h´K2hjÙubj)�”}”(hŒ``key`` publication key”h]”(j )�”}”(hŒ``key``”h]”j)�”}”(hjÆh]”hŒkey”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÄubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K2hjÀubj')�”}”(hhh]”hï)�”}”(hŒpublication key”h]”hŒpublication key”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K3hjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÀubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÛh´K2hjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj‘ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjh²hh³j'h´Nubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj h]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K6hjh²hubhï)�”}”(hŒ6===> All fields are stored in network byte order. <===”h]”hŒ6===> All fields are stored in network byte order. <===”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K3hjh²hubhï)�”}”(hŒûFirst 3 fields identify (name or) name sequence being published. Reference field uniquely identifies port that published name sequence. Key field uniquely identifies publication, in the event a port has multiple publications of the same name sequence.”h]”hŒûFirst 3 fields identify (name or) name sequence being published. Reference field uniquely identifies port that published name sequence. Key field uniquely identifies publication, in the event a port has multiple publications of the same name sequence.”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K5hjh²hubhï)�”}”(hŒ**Note**”h]”j¼)�”}”(hj?h]”hŒNote”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K:hjh²hubhï)�”}”(hŒ‚There is no field that identifies the publishing node because it is the same for all items contained within a publication message.”h]”hŒ‚There is no field that identifies the publishing node because it is the same for all items contained within a publication message.”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:139: ./net/tipc/name_distr.h”h´K;hjh²hubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_bc_base (C struct)”Œc.tipc_bc_base”hNt”auh1jhjh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ tipc_bc_base”h]”j/)�”}”(hŒstruct tipc_bc_base”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjyh²hh³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjyh²hh³jŠh´KubjX)�”}”(hŒ tipc_bc_base”h]”j^)�”}”(hjwh]”hŒ tipc_bc_base”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj™ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjyh²hh³jŠh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjuh²hh³jŠh´Kubah}”(h]”jpah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jŠh´Khjrh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ/base structure for keeping broadcast send state”h]”hŒ/base structure for keeping broadcast send state”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K4hj¼h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjrh²hh³jŠh´Kubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬j×j­j×j®‰j¯‰j°‰uh1j#h²hhjh³Nh´Nubj²)�”}”(hXó**Definition**:: struct tipc_bc_base { struct tipc_link *link; struct sk_buff_head inputq; int dests[MAX_BEARERS]; int primary_bearer; bool bcast_support; bool force_bcast; bool rcast_support; bool force_rcast; int rc_ratio; int bc_threshold; }; **Members** ``link`` broadcast send link structure ``inputq`` data input queue; will only carry SOCK_WAKEUP messages ``dests`` array keeping number of reachable destinations per bearer ``primary_bearer`` a bearer having links to all broadcast destinations, if any ``bcast_support`` indicates if primary bearer, if any, supports broadcast ``force_bcast`` forces broadcast for multicast traffic ``rcast_support`` indicates if all peer nodes support replicast ``force_rcast`` forces replicast for multicast traffic ``rc_ratio`` dest count as percentage of cluster size where send method changes ``bc_threshold`` calculated from rc_ratio; if dests > threshold use broadcast”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjßubhŒ:”…”�”}”(hjßh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K8hjÛubj×)�”}”(hX struct tipc_bc_base { struct tipc_link *link; struct sk_buff_head inputq; int dests[MAX_BEARERS]; int primary_bearer; bool bcast_support; bool force_bcast; bool rcast_support; bool force_rcast; int rc_ratio; int bc_threshold; };”h]”hX struct tipc_bc_base { struct tipc_link *link; struct sk_buff_head inputq; int dests[MAX_BEARERS]; int primary_bearer; bool bcast_support; bool force_bcast; bool rcast_support; bool force_rcast; int rc_ratio; int bc_threshold; };”…”�”}”hjüsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K:hjÛubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hj h]”hŒMembers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´KGhjÛubj)�”}”(hhh]”(j)�”}”(hŒ'``link`` broadcast send link structure ”h]”(j )�”}”(hŒ``link``”h]”j)�”}”(hj,h]”hŒlink”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K6hj&ubj')�”}”(hhh]”hï)�”}”(hŒbroadcast send link structure”h]”hŒbroadcast send link structure”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jAh´K6hjBubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jAh´K6hj#ubj)�”}”(hŒB``inputq`` data input queue; will only carry SOCK_WAKEUP messages ”h]”(j )�”}”(hŒ ``inputq``”h]”j)�”}”(hjeh]”hŒinputq”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjcubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K7hj_ubj')�”}”(hhh]”hï)�”}”(hŒ6data input queue; will only carry SOCK_WAKEUP messages”h]”hŒ6data input queue; will only carry SOCK_WAKEUP messages”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jzh´K7hj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jzh´K7hj#ubj)�”}”(hŒD``dests`` array keeping number of reachable destinations per bearer ”h]”(j )�”}”(hŒ ``dests``”h]”j)�”}”(hjžh]”hŒdests”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjœubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K8hj˜ubj')�”}”(hhh]”hï)�”}”(hŒ9array keeping number of reachable destinations per bearer”h]”hŒ9array keeping number of reachable destinations per bearer”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j³h´K8hj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j³h´K8hj#ubj)�”}”(hŒO``primary_bearer`` a bearer having links to all broadcast destinations, if any ”h]”(j )�”}”(hŒ``primary_bearer``”h]”j)�”}”(hj×h]”hŒprimary_bearer”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K9hjÑubj')�”}”(hhh]”hï)�”}”(hŒ;a bearer having links to all broadcast destinations, if any”h]”hŒ;a bearer having links to all broadcast destinations, if any”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jìh´K9hjíubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jìh´K9hj#ubj)�”}”(hŒJ``bcast_support`` indicates if primary bearer, if any, supports broadcast ”h]”(j )�”}”(hŒ``bcast_support``”h]”j)�”}”(hjh]”hŒ bcast_support”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K:hj ubj')�”}”(hhh]”hï)�”}”(hŒ7indicates if primary bearer, if any, supports broadcast”h]”hŒ7indicates if primary bearer, if any, supports broadcast”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j%h´K:hj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j%h´K:hj#ubj)�”}”(hŒ7``force_bcast`` forces broadcast for multicast traffic ”h]”(j )�”}”(hŒ``force_bcast``”h]”j)�”}”(hjIh]”hŒ force_bcast”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K;hjCubj')�”}”(hhh]”hï)�”}”(hŒ&forces broadcast for multicast traffic”h]”hŒ&forces broadcast for multicast traffic”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j^h´K;hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j^h´K;hj#ubj)�”}”(hŒ@``rcast_support`` indicates if all peer nodes support replicast ”h]”(j )�”}”(hŒ``rcast_support``”h]”j)�”}”(hj‚h]”hŒ rcast_support”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´Khjîubj')�”}”(hhh]”hï)�”}”(hŒBdest count as percentage of cluster size where send method changes”h]”hŒBdest count as percentage of cluster size where send method changes”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j h´K>hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j h´K>hj#ubj)�”}”(hŒM``bc_threshold`` calculated from rc_ratio; if dests > threshold use broadcast”h]”(j )�”}”(hŒ``bc_threshold``”h]”j)�”}”(hj-h]”hŒ bc_threshold”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K>hj'ubj')�”}”(hhh]”hï)�”}”(hŒ threshold use broadcast”h]”hŒ threshold use broadcast”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/tipc:142: ./net/tipc/bcast.c”h´K?hjCubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jBh´K>hj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÛubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjh²hh³Nh´Nubeh}”(h]”Œtipc-base-types”ah ]”h"]”Œtipc base types”ah$]”h&]”uh1hÈhjâh²hh³hÇh´K€ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTIPC Bearer Interfaces”h]”hŒTIPC Bearer Interfaces”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjvh²hh³hÇh´K’ubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_media_find (C function)”Œc.tipc_media_find”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ6struct tipc_media * tipc_media_find (const char *name)”h]”j/)�”}”(hŒ4struct tipc_media *tipc_media_find(const char *name)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjœh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KJubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjœh²hh³j­h´KJubh)�”}”(hhh]”j^)�”}”(hŒ tipc_media”h]”hŒ tipc_media”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¼ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”Œ identifier”Œ reftarget”jÁŒmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”jÚŒ ASTIdentifier”“”)�”}”jÕŒtipc_media_find”sbŒc.tipc_media_find”†”asbuh1hhjœh²hh³j­h´KJubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjœh²hh³j­h´KJubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jöhjœh²hh³j­h´KJubjX)�”}”(hŒtipc_media_find”h]”j^)�”}”(hjåh]”hŒtipc_media_find”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjœh²hh³j­h´KJubhŒdesc_parameterlist”“”)�”}”(hŒ(const char *name)”h]”hŒdesc_parameter”“”)�”}”(hŒconst char *name”h]”(j5)�”}”(hŒconst”h]”hŒconst”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj&ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj&ubhŒdesc_sig_keyword_type”“”)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1jFhj&ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj&ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj&ubj^)�”}”(hŒname”h]”hŒname”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjœh²hh³j­h´KJubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj˜h²hh³j­h´KJubah}”(h]”j“ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j­h´KJhj•h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ&locates specified media object by name”h]”hŒ&locates specified media object by name”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KJhj™h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj•h²hh³j­h´KJubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j´j­j´j®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hŒ5**Parameters** ``const char *name`` name to locate”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj¾h]”hŒ Parameters”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KNhj¸ubj)�”}”(hhh]”j)�”}”(hŒ#``const char *name`` name to locate”h]”(j )�”}”(hŒ``const char *name``”h]”j)�”}”(hjÝh]”hŒconst char *name”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KPhj×ubj')�”}”(hhh]”hï)�”}”(hŒname to locate”h]”hŒname to locate”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KKhjóubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jòh´KPhjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj¸ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒmedia_find_id (C function)”Œc.media_find_id”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ+struct tipc_media * media_find_id (u8 type)”h]”j/)�”}”(hŒ)struct tipc_media *media_find_id(u8 type)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj3h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KYubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj3h²hh³jDh´KYubh)�”}”(hhh]”j^)�”}”(hŒ tipc_media”h]”hŒ tipc_media”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjSubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jXŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒ media_find_id”sbŒc.media_find_id”†”asbuh1hhj3h²hh³jDh´KYubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj3h²hh³jDh´KYubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj3h²hh³jDh´KYubjX)�”}”(hŒ media_find_id”h]”j^)�”}”(hjth]”hŒ media_find_id”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj’ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj3h²hh³jDh´KYubj)�”}”(hŒ (u8 type)”h]”j%)�”}”(hŒu8 type”h]”(h)�”}”(hhh]”j^)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj±ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¶Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jrŒc.media_find_id”†”asbuh1hhj­ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj­ubj^)�”}”(hŒtype”h]”hŒtype”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj­ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj©ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj3h²hh³jDh´KYubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj/h²hh³jDh´KYubah}”(h]”j*ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jDh´KYhj,h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ1locates specified media object by type identifier”h]”hŒ1locates specified media object by type identifier”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KYhj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj,h²hh³jDh´KYubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j" j­j" j®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hŒ7**Parameters** ``u8 type`` type identifier to locate”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj, h]”hŒ Parameters”…”�”}”(hj. h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj* ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K]hj& ubj)�”}”(hhh]”j)�”}”(hŒ%``u8 type`` type identifier to locate”h]”(j )�”}”(hŒ ``u8 type``”h]”j)�”}”(hjK h]”hŒu8 type”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjI ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K_hjE ubj')�”}”(hhh]”hï)�”}”(hŒtype identifier to locate”h]”hŒtype identifier to locate”…”�”}”(hjd h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KZhja ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjE ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j` h´K_hjB ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj& ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ#tipc_media_addr_printf (C function)”Œc.tipc_media_addr_printf”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒJint tipc_media_addr_printf (char *buf, int len, struct tipc_media_addr *a)”h]”j/)�”}”(hŒIint tipc_media_addr_printf(char *buf, int len, struct tipc_media_addr *a)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj¥ h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¡ h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KhubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´ h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¡ h²hh³j³ h´KhubjX)�”}”(hŒtipc_media_addr_printf”h]”j^)�”}”(hŒtipc_media_addr_printf”h]”hŒtipc_media_addr_printf”…”�”}”(hjÆ h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj¡ h²hh³j³ h´Khubj)�”}”(hŒ/(char *buf, int len, struct tipc_media_addr *a)”h]”(j%)�”}”(hŒ char *buf”h]”(jG)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjâ h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÞ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÞ ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjþ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÞ ubj^)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hj !h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÞ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÚ ubj%)�”}”(hŒint len”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj$!h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj !ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2!h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj !ubj^)�”}”(hŒlen”h]”hŒlen”…”�”}”(hj@!h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj !ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÚ ubj%)�”}”(hŒstruct tipc_media_addr *a”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjY!h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjU!ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjf!h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjU!ubh)�”}”(hhh]”j^)�”}”(hŒtipc_media_addr”h]”hŒtipc_media_addr”…”�”}”(hjw!h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjt!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jy!Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÈ sbŒc.tipc_media_addr_printf”†”asbuh1hhjU!ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—!h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjU!ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¥!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjU!ubj^)�”}”(hŒa”h]”hŒa”…”�”}”(hj²!h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjU!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÚ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj¡ h²hh³j³ h´Khubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj� h²hh³j³ h´Khubah}”(h]”j˜ ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j³ h´Khhjš h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ$record media address in print buffer”h]”hŒ$record media address in print buffer”…”�”}”(hjÜ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KhhjÙ!h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjš h²hh³j³ h´Khubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jô!j­jô!j®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hŒŽ**Parameters** ``char *buf`` output buffer ``int len`` output buffer size remaining ``struct tipc_media_addr *a`` input media address”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjþ!h]”hŒ Parameters”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjü!ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Klhjø!ubj)�”}”(hhh]”(j)�”}”(hŒ``char *buf`` output buffer ”h]”(j )�”}”(hŒ ``char *buf``”h]”j)�”}”(hj"h]”hŒ char *buf”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Kihj"ubj')�”}”(hhh]”hï)�”}”(hŒ output buffer”h]”hŒ output buffer”…”�”}”(hj6"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j2"h´Kihj3"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j2"h´Kihj"ubj)�”}”(hŒ)``int len`` output buffer size remaining ”h]”(j )�”}”(hŒ ``int len``”h]”j)�”}”(hjV"h]”hŒint len”…”�”}”(hjX"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjT"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KjhjP"ubj')�”}”(hhh]”hï)�”}”(hŒoutput buffer size remaining”h]”hŒoutput buffer size remaining”…”�”}”(hjo"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jk"h´Kjhjl"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjP"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jk"h´Kjhj"ubj)�”}”(hŒ1``struct tipc_media_addr *a`` input media address”h]”(j )�”}”(hŒ``struct tipc_media_addr *a``”h]”j)�”}”(hj�"h]”hŒstruct tipc_media_addr *a”…”�”}”(hj‘"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Klhj‰"ubj')�”}”(hhh]”hï)�”}”(hŒinput media address”h]”hŒinput media address”…”�”}”(hj¨"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Kkhj¥"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj‰"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¤"h´Klhj"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjø!ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ!bearer_name_validate (C function)”Œc.bearer_name_validate”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒQint bearer_name_validate (const char *name, struct tipc_bearer_names *name_parts)”h]”j/)�”}”(hŒPint bearer_name_validate(const char *name, struct tipc_bearer_names *name_parts)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjé"h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjå"h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KƒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø"h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjå"h²hh³j÷"h´KƒubjX)�”}”(hŒbearer_name_validate”h]”j^)�”}”(hŒbearer_name_validate”h]”hŒbearer_name_validate”…”�”}”(hj #h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj#ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjå"h²hh³j÷"h´Kƒubj)�”}”(hŒ8(const char *name, struct tipc_bearer_names *name_parts)”h]”(j%)�”}”(hŒconst char *name”h]”(j5)�”}”(hj,h]”hŒconst”…”�”}”(hj&#h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj"#ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3#h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj"#ubjG)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjA#h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj"#ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjO#h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj"#ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj]#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj"#ubj^)�”}”(hŒname”h]”hŒname”…”�”}”(hjj#h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj"#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj#ubj%)�”}”(hŒ$struct tipc_bearer_names *name_parts”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjƒ#h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj#ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�#h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj#ubh)�”}”(hhh]”j^)�”}”(hŒtipc_bearer_names”h]”hŒtipc_bearer_names”…”�”}”(hj¡#h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjž#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j£#Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj #sbŒc.bearer_name_validate”†”asbuh1hhj#ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ#h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj#ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÏ#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj#ubj^)�”}”(hŒ name_parts”h]”hŒ name_parts”…”�”}”(hjÜ#h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj#ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjå"h²hh³j÷"h´Kƒubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjá"h²hh³j÷"h´Kƒubah}”(h]”jÜ"ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j÷"h´KƒhjÞ"h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ/validate & (optionally) deconstruct bearer name”h]”hŒ/validate & (optionally) deconstruct bearer name”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Kƒhj$h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÞ"h²hh³j÷"h´Kƒubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j$j­j$j®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hŒà**Parameters** ``const char *name`` ptr to bearer name string ``struct tipc_bearer_names *name_parts`` ptr to area for bearer name components (or NULL if not needed) **Return** 1 if bearer name is valid, otherwise 0.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj($h]”hŒ Parameters”…”�”}”(hj*$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj&$ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K‡hj"$ubj)�”}”(hhh]”(j)�”}”(hŒ/``const char *name`` ptr to bearer name string ”h]”(j )�”}”(hŒ``const char *name``”h]”j)�”}”(hjG$h]”hŒconst char *name”…”�”}”(hjI$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjE$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K„hjA$ubj')�”}”(hhh]”hï)�”}”(hŒptr to bearer name string”h]”hŒptr to bearer name string”…”�”}”(hj`$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j\$h´K„hj]$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjA$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j\$h´K„hj>$ubj)�”}”(hŒh``struct tipc_bearer_names *name_parts`` ptr to area for bearer name components (or NULL if not needed) ”h]”(j )�”}”(hŒ(``struct tipc_bearer_names *name_parts``”h]”j)�”}”(hj€$h]”hŒ$struct tipc_bearer_names *name_parts”…”�”}”(hj‚$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj~$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K…hjz$ubj')�”}”(hhh]”hï)�”}”(hŒ>ptr to area for bearer name components (or NULL if not needed)”h]”hŒ>ptr to area for bearer name components (or NULL if not needed)”…”�”}”(hj™$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j•$h´K…hj–$ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjz$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j•$h´K…hj>$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj"$ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj»$h]”hŒReturn”…”�”}”(hj½$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¹$ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K‡hj"$ubhï)�”}”(hŒ'1 if bearer name is valid, otherwise 0.”h]”hŒ'1 if bearer name is valid, otherwise 0.”…”�”}”(hjÑ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K‡hj"$ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_bearer_find (C function)”Œc.tipc_bearer_find”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒIstruct tipc_bearer * tipc_bearer_find (struct net *net, const char *name)”h]”j/)�”}”(hŒGstruct tipc_bearer *tipc_bearer_find(struct net *net, const char *name)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjü$h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K±ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjü$h²hh³j %h´K±ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j!%Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒtipc_bearer_find”sbŒc.tipc_bearer_find”†”asbuh1hhjü$h²hh³j %h´K±ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@%h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jF•hjü$h²hh³j %h´K±ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjN%h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjü$h²hh³j %h´K±ubjX)�”}”(hŒtipc_bearer_find”h]”j^)�”}”(hj=%h]”hŒtipc_bearer_find”…”�”}”(hj_%h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj[%ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjü$h²hh³j %h´K±ubj)�”}”(hŒ#(struct net *net, const char *name)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjz%h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjv%ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡%h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjv%ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj˜%h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj•%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jš%Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j;%Œc.tipc_bearer_find”†”asbuh1hhjv%ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶%h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjv%ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÄ%h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjv%ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjÑ%h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjv%ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjr%ubj%)�”}”(hŒconst char *name”h]”(j5)�”}”(hj,h]”hŒconst”…”�”}”(hjê%h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjæ%ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷%h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjæ%ubjG)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjæ%ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjæ%ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj!&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjæ%ubj^)�”}”(hŒname”h]”hŒname”…”�”}”(hj.&h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjæ%ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjr%ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjü$h²hh³j %h´K±ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjø$h²hh³j %h´K±ubah}”(h]”jó$ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j %h´K±hjõ$h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ/locates bearer object with matching bearer name”h]”hŒ/locates bearer object with matching bearer name”…”�”}”(hjX&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K±hjU&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjõ$h²hh³j %h´K±ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jp&j­jp&j®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hŒp**Parameters** ``struct net *net`` the applicable net namespace ``const char *name`` bearer name to locate”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjz&h]”hŒ Parameters”…”�”}”(hj|&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjx&ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Kµhjt&ubj)�”}”(hhh]”(j)�”}”(hŒ1``struct net *net`` the applicable net namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj™&h]”hŒstruct net *net”…”�”}”(hj›&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj—&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K²hj“&ubj')�”}”(hhh]”hï)�”}”(hŒthe applicable net namespace”h]”hŒthe applicable net namespace”…”�”}”(hj²&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j®&h´K²hj¯&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj“&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j®&h´K²hj�&ubj)�”}”(hŒ*``const char *name`` bearer name to locate”h]”(j )�”}”(hŒ``const char *name``”h]”j)�”}”(hjÒ&h]”hŒconst char *name”…”�”}”(hjÔ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÐ&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K´hjÌ&ubj')�”}”(hhh]”hï)�”}”(hŒbearer name to locate”h]”hŒbearer name to locate”…”�”}”(hjë&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K³hjè&ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÌ&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jç&h´K´hj�&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjt&ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_enable_bearer (C function)”Œc.tipc_enable_bearer”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒŒint tipc_enable_bearer (struct net *net, const char *name, u32 disc_domain, u32 prio, struct nlattr *attr[], struct netlink_ext_ack *extack)”h]”j/)�”}”(hŒ‹int tipc_enable_bearer(struct net *net, const char *name, u32 disc_domain, u32 prio, struct nlattr *attr[], struct netlink_ext_ack *extack)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj,'h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj('h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KñubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;'h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj('h²hh³j:'h´KñubjX)�”}”(hŒtipc_enable_bearer”h]”j^)�”}”(hŒtipc_enable_bearer”h]”hŒtipc_enable_bearer”…”�”}”(hjM'h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjI'ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj('h²hh³j:'h´Kñubj)�”}”(hŒu(struct net *net, const char *name, u32 disc_domain, u32 prio, struct nlattr *attr[], struct netlink_ext_ack *extack)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hji'h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hje'ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv'h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhje'ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj‡'h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj„'ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j‰'Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjO'sbŒc.tipc_enable_bearer”†”asbuh1hhje'ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§'h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhje'ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjµ'h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhje'ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjÂ'h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hje'ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hja'ubj%)�”}”(hŒconst char *name”h]”(j5)�”}”(hj,h]”hŒconst”…”�”}”(hjÛ'h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj×'ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjè'h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj×'ubjG)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjö'h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj×'ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj×'ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj×'ubj^)�”}”(hŒname”h]”hŒname”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj×'ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hja'ubj%)�”}”(hŒu32 disc_domain”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj;(h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj8(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j=(Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j£'Œc.tipc_enable_bearer”†”asbuh1hhj4(ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY(h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj4(ubj^)�”}”(hŒ disc_domain”h]”hŒ disc_domain”…”�”}”(hjg(h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj4(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hja'ubj%)�”}”(hŒu32 prio”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjƒ(h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj€(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j…(Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j£'Œc.tipc_enable_bearer”†”asbuh1hhj|(ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡(h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj|(ubj^)�”}”(hŒprio”h]”hŒprio”…”�”}”(hj¯(h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj|(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hja'ubj%)�”}”(hŒstruct nlattr *attr[]”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÈ(h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÄ(ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ(h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÄ(ubh)�”}”(hhh]”j^)�”}”(hŒnlattr”h]”hŒnlattr”…”�”}”(hjæ(h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjã(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jè(Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j£'Œc.tipc_enable_bearer”†”asbuh1hhjÄ(ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÄ(ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÄ(ubj^)�”}”(hŒattr”h]”hŒattr”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÄ(ubj÷)�”}”(hŒ[”h]”hŒ[”…”�”}”(hj-)h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÄ(ubj÷)�”}”(hŒ]”h]”hŒ]”…”�”}”(hj;)h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÄ(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hja'ubj%)�”}”(hŒstruct netlink_ext_ack *extack”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjT)h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjP)ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hja)h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjP)ubh)�”}”(hhh]”j^)�”}”(hŒnetlink_ext_ack”h]”hŒnetlink_ext_ack”…”�”}”(hjr)h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjo)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jt)Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j£'Œc.tipc_enable_bearer”†”asbuh1hhjP)ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�)h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjP)ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjž)h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjP)ubj^)�”}”(hŒextack”h]”hŒextack”…”�”}”(hj«)h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjP)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hja'ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj('h²hh³j:'h´Kñubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj$'h²hh³j:'h´Kñubah}”(h]”j'ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j:'h´Kñhj!'h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ!enable bearer with the given name”h]”hŒ!enable bearer with the given name”…”�”}”(hjÕ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KñhjÒ)h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj!'h²hh³j:'h´Kñubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jí)j­jí)j®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hX**Parameters** ``struct net *net`` the applicable net namespace ``const char *name`` bearer name to enable ``u32 disc_domain`` bearer domain ``u32 prio`` bearer priority ``struct nlattr *attr[]`` nlattr array ``struct netlink_ext_ack *extack`` netlink extended ack”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj÷)h]”hŒ Parameters”…”�”}”(hjù)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjõ)ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Kõhjñ)ubj)�”}”(hhh]”(j)�”}”(hŒ1``struct net *net`` the applicable net namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj*h]”hŒstruct net *net”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Kòhj*ubj')�”}”(hhh]”hï)�”}”(hŒthe applicable net namespace”h]”hŒthe applicable net namespace”…”�”}”(hj/*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j+*h´Kòhj,*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j+*h´Kòhj *ubj)�”}”(hŒ+``const char *name`` bearer name to enable ”h]”(j )�”}”(hŒ``const char *name``”h]”j)�”}”(hjO*h]”hŒconst char *name”…”�”}”(hjQ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjM*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´KóhjI*ubj')�”}”(hhh]”hï)�”}”(hŒbearer name to enable”h]”hŒbearer name to enable”…”�”}”(hjh*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jd*h´Kóhje*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjI*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jd*h´Kóhj *ubj)�”}”(hŒ"``u32 disc_domain`` bearer domain ”h]”(j )�”}”(hŒ``u32 disc_domain``”h]”j)�”}”(hjˆ*h]”hŒu32 disc_domain”…”�”}”(hjŠ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj†*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Kôhj‚*ubj')�”}”(hhh]”hï)�”}”(hŒ bearer domain”h]”hŒ bearer domain”…”�”}”(hj¡*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j�*h´Kôhjž*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj‚*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�*h´Kôhj *ubj)�”}”(hŒ``u32 prio`` bearer priority ”h]”(j )�”}”(hŒ ``u32 prio``”h]”j)�”}”(hjÁ*h]”hŒu32 prio”…”�”}”(hjÃ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¿*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Kõhj»*ubj')�”}”(hhh]”hï)�”}”(hŒbearer priority”h]”hŒbearer priority”…”�”}”(hjÚ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÖ*h´Kõhj×*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj»*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÖ*h´Kõhj *ubj)�”}”(hŒ'``struct nlattr *attr[]`` nlattr array ”h]”(j )�”}”(hŒ``struct nlattr *attr[]``”h]”j)�”}”(hjú*h]”hŒstruct nlattr *attr[]”…”�”}”(hjü*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjø*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Köhjô*ubj')�”}”(hhh]”hï)�”}”(hŒ nlattr array”h]”hŒ nlattr array”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j+h´Köhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjô*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j+h´Köhj *ubj)�”}”(hŒ7``struct netlink_ext_ack *extack`` netlink extended ack”h]”(j )�”}”(hŒ"``struct netlink_ext_ack *extack``”h]”j)�”}”(hj3+h]”hŒstruct netlink_ext_ack *extack”…”�”}”(hj5+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj1+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´Køhj-+ubj')�”}”(hhh]”hï)�”}”(hŒnetlink extended ack”h]”hŒnetlink extended ack”…”�”}”(hjL+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´K÷hjI+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj-+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jH+h´Køhj *ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjñ)ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_reset_bearer (C function)”Œc.tipc_reset_bearer”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ>int tipc_reset_bearer (struct net *net, struct tipc_bearer *b)”h]”j/)�”}”(hŒ=int tipc_reset_bearer(struct net *net, struct tipc_bearer *b)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj�+h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‰+h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´M{ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjœ+h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‰+h²hh³j›+h´M{ubjX)�”}”(hŒtipc_reset_bearer”h]”j^)�”}”(hŒtipc_reset_bearer”h]”hŒtipc_reset_bearer”…”�”}”(hj®+h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjª+ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj‰+h²hh³j›+h´M{ubj)�”}”(hŒ((struct net *net, struct tipc_bearer *b)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÊ+h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÆ+ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×+h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÆ+ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjè+h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjå+ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jê+Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj°+sbŒc.tipc_reset_bearer”†”asbuh1hhjÆ+ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÆ+ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÆ+ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj#,h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÆ+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÂ+ubj%)�”}”(hŒstruct tipc_bearer *b”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj<,h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj8,ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI,h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj8,ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hjZ,h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjW,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j\,Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j,Œc.tipc_reset_bearer”†”asbuh1hhj8,ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx,h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj8,ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj†,h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj8,ubj^)�”}”(hŒb”h]”hŒb”…”�”}”(hj“,h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj8,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÂ+ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj‰+h²hh³j›+h´M{ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj…+h²hh³j›+h´M{ubah}”(h]”j€+ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j›+h´M{hj‚+h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ,Reset all links established over this bearer”h]”hŒ,Reset all links established over this bearer”…”�”}”(hj½,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´M{hjº,h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj‚+h²hh³j›+h´M{ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÕ,j­jÕ,j®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hŒq**Parameters** ``struct net *net`` the applicable net namespace ``struct tipc_bearer *b`` the target bearer”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjß,h]”hŒ Parameters”…”�”}”(hjá,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÝ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´MhjÙ,ubj)�”}”(hhh]”(j)�”}”(hŒ1``struct net *net`` the applicable net namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjþ,h]”hŒstruct net *net”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjü,ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´M|hjø,ubj')�”}”(hhh]”hï)�”}”(hŒthe applicable net namespace”h]”hŒthe applicable net namespace”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j-h´M|hj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjø,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j-h´M|hjõ,ubj)�”}”(hŒ+``struct tipc_bearer *b`` the target bearer”h]”(j )�”}”(hŒ``struct tipc_bearer *b``”h]”j)�”}”(hj7-h]”hŒstruct tipc_bearer *b”…”�”}”(hj9-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´M~hj1-ubj')�”}”(hhh]”hï)�”}”(hŒthe target bearer”h]”hŒthe target bearer”…”�”}”(hjP-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´M}hjM-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj1-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jL-h´M~hjõ,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÙ,ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒbearer_disable (C function)”Œc.bearer_disable”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ``struct notifier_block *nb`` the context of the notification ”h]”(j )�”}”(hŒ``struct notifier_block *nb``”h]”j)�”}”(hj8h]”hŒstruct notifier_block *nb”…”�”}”(hj!8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´M®hj8ubj')�”}”(hhh]”hï)�”}”(hŒthe context of the notification”h]”hŒthe context of the notification”…”�”}”(hj88h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j48h´M®hj58ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j48h´M®hj8ubj)�”}”(hŒ(``unsigned long evt`` the type of event ”h]”(j )�”}”(hŒ``unsigned long evt``”h]”j)�”}”(hjX8h]”hŒunsigned long evt”…”�”}”(hjZ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjV8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´M¯hjR8ubj')�”}”(hhh]”hï)�”}”(hŒthe type of event”h]”hŒthe type of event”…”�”}”(hjq8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jm8h´M¯hjn8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjR8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jm8h´M¯hj8ubj)�”}”(hŒ3``void *ptr`` the net device that the event was on ”h]”(j )�”}”(hŒ ``void *ptr``”h]”j)�”}”(hj‘8h]”hŒ void *ptr”…”�”}”(hj“8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´M°hj‹8ubj')�”}”(hhh]”hï)�”}”(hŒ$the net device that the event was on”h]”hŒ$the net device that the event was on”…”�”}”(hjª8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¦8h´M°hj§8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj‹8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¦8h´M°hj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjú7ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjÌ8h]”hŒ Description”…”�”}”(hjÎ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÊ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´M²hjú7ubhï)�”}”(hŒLThis function is called by the Ethernet driver in case of link change event.”h]”hŒLThis function is called by the Ethernet driver in case of link change event.”…”�”}”(hjâ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:148: ./net/tipc/bearer.c”h´M±hjú7ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒudp_media_addr (C struct)”Œc.udp_media_addr”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒudp_media_addr”h]”j/)�”}”(hŒstruct udp_media_addr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj 9h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj 9h²hh³j9h´KubjX)�”}”(hŒudp_media_addr”h]”j^)�”}”(hj 9h]”hŒudp_media_addr”…”�”}”(hj19h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj-9ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj 9h²hh³j9h´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj 9h²hh³j9h´Kubah}”(h]”j9ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j9h´Khj9h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒIP/UDP addressing information”h]”hŒIP/UDP addressing information”…”�”}”(hjS9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´K?hjP9h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj9h²hh³j9h´Kubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬jk9j­jk9j®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hXg**Definition**:: struct udp_media_addr { __be16 proto; __be16 port; union { struct in_addr ipv4; struct in6_addr ipv6; }; }; **Members** ``proto`` Ethernet protocol in use ``port`` port being used ``{unnamed_union}`` anonymous ``ipv4`` IPv4 address of neighbor ``ipv6`` IPv6 address of neighbor”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjw9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjs9ubhŒ:”…”�”}”(hjs9h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KChjo9ubj×)�”}”(hŒ‹struct udp_media_addr { __be16 proto; __be16 port; union { struct in_addr ipv4; struct in6_addr ipv6; }; };”h]”hŒ‹struct udp_media_addr { __be16 proto; __be16 port; union { struct in_addr ipv4; struct in6_addr ipv6; }; };”…”�”}”hj�9sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KEhjo9ubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hj¡9h]”hŒMembers”…”�”}”(hj£9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjŸ9ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KNhjo9ubj)�”}”(hhh]”(j)�”}”(hŒ#``proto`` Ethernet protocol in use ”h]”(j )�”}”(hŒ ``proto``”h]”j)�”}”(hjÀ9h]”hŒproto”…”�”}”(hjÂ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¾9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KEhjº9ubj')�”}”(hhh]”hï)�”}”(hŒEthernet protocol in use”h]”hŒEthernet protocol in use”…”�”}”(hjÙ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÕ9h´KEhjÖ9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjº9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÕ9h´KEhj·9ubj)�”}”(hŒ``port`` port being used ”h]”(j )�”}”(hŒ``port``”h]”j)�”}”(hjù9h]”hŒport”…”�”}”(hjû9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KFhjó9ubj')�”}”(hhh]”hï)�”}”(hŒport being used”h]”hŒport being used”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j:h´KFhj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjó9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j:h´KFhj·9ubj)�”}”(hŒ``{unnamed_union}`` anonymous ”h]”(j )�”}”(hŒ``{unnamed_union}``”h]”j)�”}”(hj2:h]”hŒ{unnamed_union}”…”�”}”(hj4:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´Khj,:ubj')�”}”(hhh]”hï)�”}”(hŒ anonymous”h]”hŒ anonymous”…”�”}”(hjK:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jG:h´KhjH:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj,:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jG:h´Khj·9ubj)�”}”(hŒ"``ipv4`` IPv4 address of neighbor ”h]”(j )�”}”(hŒ``ipv4``”h]”j)�”}”(hjk:h]”hŒipv4”…”�”}”(hjm:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhji:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KGhje:ubj')�”}”(hhh]”hï)�”}”(hŒIPv4 address of neighbor”h]”hŒIPv4 address of neighbor”…”�”}”(hj„:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j€:h´KGhj�:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hje:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j€:h´KGhj·9ubj)�”}”(hŒ!``ipv6`` IPv6 address of neighbor”h]”(j )�”}”(hŒ``ipv6``”h]”j)�”}”(hj¤:h]”hŒipv6”…”�”}”(hj¦:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KGhjž:ubj')�”}”(hhh]”hï)�”}”(hŒIPv6 address of neighbor”h]”hŒIPv6 address of neighbor”…”�”}”(hj½:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KHhjº:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjž:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¹:h´KGhj·9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjo9ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjç:h]”hŒ Description”…”�”}”(hjé:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjå:ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KKhjvh²hubhï)�”}”(hŒ€This is the bearer level originating address used in neighbor discovery messages, and all fields should be in network byte order”h]”hŒ€This is the bearer level originating address used in neighbor discovery messages, and all fields should be in network byte order”…”�”}”(hjý:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´K@hjvh²hubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒudp_bearer (C struct)”Œ c.udp_bearer”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ udp_bearer”h]”j/)�”}”(hŒstruct udp_bearer”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj%;h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj!;h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KFubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3;h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj!;h²hh³j2;h´KFubjX)�”}”(hŒ udp_bearer”h]”j^)�”}”(hj;h]”hŒ udp_bearer”…”�”}”(hjE;h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjA;ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj!;h²hh³j2;h´KFubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj;h²hh³j2;h´KFubah}”(h]”j;ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j2;h´KFhj;h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒip/udp bearer data structure”h]”hŒip/udp bearer data structure”…”�”}”(hjg;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´K[hjd;h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj;h²hh³j2;h´KFubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬j;j­j;j®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hXw**Definition**:: struct udp_bearer { struct tipc_bearer *bearer; struct sock *sk; u32 ifindex; struct work_struct work; struct udp_replicast rcast; spinlock_t rcast_lock; bool disabled; }; **Members** ``bearer`` associated generic tipc bearer ``sk`` bearer associated socket ``ifindex`` local address scope ``work`` used to schedule deferred work on a bearer ``rcast`` associated udp_replicast container ``rcast_lock`` serialize updates to **rcast.list** against concurrent updaters ``disabled`` bearer is being torn down; reject further **rcast.list** additions”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj‹;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj‡;ubhŒ:”…”�”}”(hj‡;h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´K_hjƒ;ubj×)�”}”(hŒÇstruct udp_bearer { struct tipc_bearer *bearer; struct sock *sk; u32 ifindex; struct work_struct work; struct udp_replicast rcast; spinlock_t rcast_lock; bool disabled; };”h]”hŒÇstruct udp_bearer { struct tipc_bearer *bearer; struct sock *sk; u32 ifindex; struct work_struct work; struct udp_replicast rcast; spinlock_t rcast_lock; bool disabled; };”…”�”}”hj¤;sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´Kahjƒ;ubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hjµ;h]”hŒMembers”…”�”}”(hj·;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj³;ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´Kkhjƒ;ubj)�”}”(hhh]”(j)�”}”(hŒ*``bearer`` associated generic tipc bearer ”h]”(j )�”}”(hŒ ``bearer``”h]”j)�”}”(hjÔ;h]”hŒbearer”…”�”}”(hjÖ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÒ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´K]hjÎ;ubj')�”}”(hhh]”hï)�”}”(hŒassociated generic tipc bearer”h]”hŒassociated generic tipc bearer”…”�”}”(hjí;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jé;h´K]hjê;ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÎ;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jé;h´K]hjË;ubj)�”}”(hŒ ``sk`` bearer associated socket ”h]”(j )�”}”(hŒ``sk``”h]”j)�”}”(hj <h]”hŒsk”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj <ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´K^hj<ubj')�”}”(hhh]”hï)�”}”(hŒbearer associated socket”h]”hŒbearer associated socket”…”�”}”(hj&<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j"<h´K^hj#<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j"<h´K^hjË;ubj)�”}”(hŒ ``ifindex`` local address scope ”h]”(j )�”}”(hŒ ``ifindex``”h]”j)�”}”(hjF<h]”hŒifindex”…”�”}”(hjH<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjD<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´K_hj@<ubj')�”}”(hhh]”hï)�”}”(hŒlocal address scope”h]”hŒlocal address scope”…”�”}”(hj_<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j[<h´K_hj\<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj@<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j[<h´K_hjË;ubj)�”}”(hŒ4``work`` used to schedule deferred work on a bearer ”h]”(j )�”}”(hŒ``work``”h]”j)�”}”(hj<h]”hŒwork”…”�”}”(hj�<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´K`hjy<ubj')�”}”(hhh]”hï)�”}”(hŒ*used to schedule deferred work on a bearer”h]”hŒ*used to schedule deferred work on a bearer”…”�”}”(hj˜<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j”<h´K`hj•<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjy<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j”<h´K`hjË;ubj)�”}”(hŒ-``rcast`` associated udp_replicast container ”h]”(j )�”}”(hŒ ``rcast``”h]”j)�”}”(hj¸<h]”hŒrcast”…”�”}”(hjº<h²hh³Nh´Nubah}”(h]”h •]”h"]”h$]”h&]”uh1jhj¶<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´Kahj²<ubj')�”}”(hhh]”hï)�”}”(hŒ"associated udp_replicast container”h]”hŒ"associated udp_replicast container”…”�”}”(hjÑ<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÍ<h´KahjÎ<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj²<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÍ<h´KahjË;ubj)�”}”(hŒO``rcast_lock`` serialize updates to **rcast.list** against concurrent updaters ”h]”(j )�”}”(hŒ``rcast_lock``”h]”j)�”}”(hjñ<h]”hŒ rcast_lock”…”�”}”(hjó<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjï<ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´Kbhjë<ubj')�”}”(hhh]”hï)�”}”(hŒ?serialize updates to **rcast.list** against concurrent updaters”h]”(hŒserialize updates to ”…”�”}”(hj =h²hh³Nh´Nubj¼)�”}”(hŒ**rcast.list**”h]”hŒ rcast.list”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj =ubhŒ against concurrent updaters”…”�”}”(hj =h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j=h´Kbhj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjë<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j=h´KbhjË;ubj)�”}”(hŒO``disabled`` bearer is being torn down; reject further **rcast.list** additions”h]”(j )�”}”(hŒ ``disabled``”h]”j)�”}”(hj<=h]”hŒdisabled”…”�”}”(hj>=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´Kbhj6=ubj')�”}”(hhh]”hï)�”}”(hŒBbearer is being torn down; reject further **rcast.list** additions”h]”(hŒ*bearer is being torn down; reject further ”…”�”}”(hjU=h²hh³Nh´Nubj¼)�”}”(hŒ**rcast.list**”h]”hŒ rcast.list”…”�”}”(hj]=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjU=ubhŒ additions”…”�”}”(hjU=h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´KchjR=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj6=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jQ=h´KbhjË;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjƒ;ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_parse_udp_addr (C function)”Œc.tipc_parse_udp_addr”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒXint tipc_parse_udp_addr (struct nlattr *nla, struct udp_media_addr *addr, u32 *scope_id)”h]”j/)�”}”(hŒWint tipc_parse_udp_addr(struct nlattr *nla, struct udp_media_addr *addr, u32 *scope_id)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj¨=h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¤=h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´M>ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·=h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¤=h²hh³j¶=h´M>ubjX)�”}”(hŒtipc_parse_udp_addr”h]”j^)�”}”(hŒtipc_parse_udp_addr”h]”hŒtipc_parse_udp_addr”…”�”}”(hjÉ=h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÅ=ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj¤=h²hh³j¶=h´M>ubj)�”}”(hŒ@(struct nlattr *nla, struct udp_media_addr *addr, u32 *scope_id)”h]”(j%)�”}”(hŒstruct nlattr *nla”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjå=h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjá=ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjò=h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjá=ubh)�”}”(hhh]”j^)�”}”(hŒnlattr”h]”hŒnlattr”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj>ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j>Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjË=sbŒc.tipc_parse_udp_addr”†”asbuh1hhjá=ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#>h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjá=ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj1>h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjá=ubj^)�”}”(hŒnla”h]”hŒnla”…”�”}”(hj>>h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjá=ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÝ=ubj%)�”}”(hŒstruct udp_media_addr *addr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjW>h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjS>ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjd>h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjS>ubh)�”}”(hhh]”j^)�”}”(hŒudp_media_addr”h]”hŒudp_media_addr”…”�”}”(hju>h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjr>ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jw>Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j>Œc.tipc_parse_udp_addr”†”asbuh1hhjS>ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“>h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjS>ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¡>h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjS>ubj^)�”}”(hŒaddr”h]”hŒaddr”…”�”}”(hj®>h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjS>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÝ=ubj%)�”}”(hŒ u32 *scope_id”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjÊ>h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÇ>ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÌ>Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j>Œc.tipc_parse_udp_addr”†”asbuh1hhjÃ>ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjè>h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÃ>ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjö>h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÃ>ubj^)�”}”(hŒscope_id”h]”hŒscope_id”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÃ>ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÝ=ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj¤=h²hh³j¶=h´M>ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj =h²hh³j¶=h´M>ubah}”(h]”j›=ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j¶=h´M>hj�=h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ)build udp media address from netlink data”h]”hŒ)build udp media address from netlink data”…”�”}”(hj-?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´M>hj*?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj�=h²hh³j¶=h´M>ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jE?j­jE?j®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hX**Parameters** ``struct nlattr *nla`` netlink attribute containing sockaddr storage aligned address ``struct udp_media_addr *addr`` tipc media address to fill with address, port and protocol type ``u32 *scope_id`` IPv6 scope id pointer, not NULL indicates it's required”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjO?h]”hŒ Parameters”…”�”}”(hjQ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjM?ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´MBhjI?ubj)�”}”(hhh]”(j)�”}”(hŒU``struct nlattr *nla`` netlink attribute containing sockaddr storage aligned address ”h]”(j )�”}”(hŒ``struct nlattr *nla``”h]”j)�”}”(hjn?h]”hŒstruct nlattr *nla”…”�”}”(hjp?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjl?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´M?hjh?ubj')�”}”(hhh]”hï)�”}”(hŒ=netlink attribute containing sockaddr storage aligned address”h]”hŒ=netlink attribute containing sockaddr storage aligned address”…”�”}”(hj‡?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jƒ?h´M?hj„?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjh?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jƒ?h´M?hje?ubj)�”}”(hŒ```struct udp_media_addr *addr`` tipc media address to fill with address, port and protocol type ”h]”(j )�”}”(hŒ``struct udp_media_addr *addr``”h]”j)�”}”(hj§?h]”hŒstruct udp_media_addr *addr”…”�”}”(hj©?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¥?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´M@hj¡?ubj')�”}”(hhh]”hï)�”}”(hŒ?tipc media address to fill with address, port and protocol type”h]”hŒ?tipc media address to fill with address, port and protocol type”…”�”}”(hjÀ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¼?h´M@hj½?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¡?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¼?h´M@hje?ubj)�”}”(hŒI``u32 *scope_id`` IPv6 scope id pointer, not NULL indicates it's required”h]”(j )�”}”(hŒ``u32 *scope_id``”h]”j)�”}”(hjà?h]”hŒ u32 *scope_id”…”�”}”(hjâ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÞ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´MBhjÚ?ubj')�”}”(hhh]”hï)�”}”(hŒ7IPv6 scope id pointer, not NULL indicates it's required”h]”hŒ9IPv6 scope id pointer, not NULL indicates it’s required”…”�”}”(hjù?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´MAhjö?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÚ?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jõ?h´MBhje?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjI?ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_udp_enable (C function)”Œc.tipc_udp_enable”hNt”auh1jhjvh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒTint tipc_udp_enable (struct net *net, struct tipc_bearer *b, struct nlattr *attrs[])”h]”j/)�”}”(hŒSint tipc_udp_enable(struct net *net, struct tipc_bearer *b, struct nlattr *attrs[])”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj:@h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6@h²hh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´MˆubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjI@h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6@h²hh³jH@h´MˆubjX)�”}”(hŒtipc_udp_enable”h]”j^)�”}”(hŒtipc_udp_enable”h]”hŒtipc_udp_enable”…”�”}”(hj[@h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjW@ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj6@h²hh³jH@h´Mˆubj)�”}”(hŒ@(struct net *net, struct tipc_bearer *b, struct nlattr *attrs[])”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjw@h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjs@ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„@h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjs@ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj•@h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj’@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j—@Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj]@sbŒc.tipc_udp_enable”†”asbuh1hhjs@ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµ@h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjs@ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÃ@h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjs@ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjÐ@h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjs@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjo@ubj%)�”}”(hŒstruct tipc_bearer *b”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjé@h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjå@ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö@h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjå@ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjAubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j AŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j±@Œc.tipc_udp_enable”†”asbuh1hhjå@ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%Ah²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjå@ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj3Ah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjå@ubj^)�”}”(hj•,h]”hŒb”…”�”}”(hj@Ah²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjå@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjo@ubj%)�”}”(hŒstruct nlattr *attrs[]”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjXAh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjTAubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeAh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjTAubh)�”}”(hhh]”j^)�”}”(hŒnlattr”h]”hŒnlattr”…”�”}”(hjvAh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjsAubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jxAŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j±@Œc.tipc_udp_enable”†”asbuh1hhjTAubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”Ah²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjTAubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¢Ah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjTAubj^)�”}”(hŒattrs”h]”hŒattrs”…”�”}”(hj¯Ah²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjTAubj÷)�”}”(hj/)h]”hŒ[”…”�”}”(hj½Ah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjTAubj÷)�”}”(hj=)h]”hŒ]”…”�”}”(hjÊAh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjTAubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjo@ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj6@h²hh³jH@h´Mˆubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj2@h²hh³jH@h´Mˆubah}”(h]”j-@ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jH@h´Mˆhj/@h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ,callback to create a new udp bearer instance”h]”hŒ,callback to create a new udp bearer instance”…”�”}”(hjóAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´MˆhjðAh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj/@h²hh³jH@h´Mˆubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j Bj­j Bj®‰j¯‰j°‰uh1j#h²hhjvh³Nh´Nubj²)�”}”(hX**Parameters** ``struct net *net`` network namespace ``struct tipc_bearer *b`` pointer to generic tipc_bearer ``struct nlattr *attrs[]`` netlink bearer configuration **Description** validate the bearer parameters and initialize the udp bearer rtnl_lock should be held”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjBh]”hŒ Parameters”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjBubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´MŒhjBubj)�”}”(hhh]”(j)�”}”(hŒ&``struct net *net`` network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj4Bh]”hŒstruct net *net”…”�”}”(hj6Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj2Bubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´M‰hj.Bubj')�”}”(hhh]”hï)�”}”(hŒnetwork namespace”h]”hŒnetwork namespace”…”�”}”(hjMBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jIBh´M‰hjJBubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj.Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jIBh´M‰hj+Bubj)�”}”(hŒ9``struct tipc_bearer *b`` pointer to generic tipc_bearer ”h]”(j )�”}”(hŒ``struct tipc_bearer *b``”h]”j)�”}”(hjmBh]”hŒstruct tipc_bearer *b”…”�”}”(hjoBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkBubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´MŠhjgBubj')�”}”(hhh]”hï)�”}”(hŒpointer to generic tipc_bearer”h]”hŒpointer to generic tipc_bearer”…”�”}”(hj†Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j‚Bh´MŠhjƒBubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjgBubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‚Bh´MŠhj+Bubj)�”}”(hŒ8``struct nlattr *attrs[]`` netlink bearer configuration ”h]”(j )�”}”(hŒ``struct nlattr *attrs[]``”h]”j)�”}”(hj¦Bh]”hŒstruct nlattr *attrs[]”…”�”}”(hj¨Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤Bubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´M‹hj Bubj')�”}”(hhh]”hï)�”}”(hŒnetlink bearer configuration”h]”hŒnetlink bearer configuration”…”�”}”(hj¿Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j»Bh´M‹hj¼Bubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j»Bh´M‹hj+Bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjBubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjáBh]”hŒ Description”…”�”}”(hjãBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjßBubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´M�hjBubhï)�”}”(hŒUvalidate the bearer parameters and initialize the udp bearer rtnl_lock should be held”h]”hŒUvalidate the bearer parameters and initialize the udp bearer rtnl_lock should be held”…”�”}”(hj÷Bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒU/var/lib/git/docbuild/linux/Documentation/networking/tipc:151: ./net/tipc/udp_media.c”h´MŒhjBubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjvh²hh³Nh´Nubeh}”(h]”Œtipc-bearer-interfaces”ah ]”h"]”Œtipc bearer interfaces”ah$]”h&]”uh1hÈhjâh²hh³hÇh´K’ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTIPC Crypto Interfaces”h]”hŒTIPC Crypto Interfaces”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjCh²hh³hÇh´K›ubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_tfm (C struct)”Œ c.tipc_tfm”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒtipc_tfm”h]”j/)�”}”(hŒstruct tipc_tfm”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj?Ch²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj;Ch²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMCh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj;Ch²hh³jLCh´KubjX)�”}”(hŒtipc_tfm”h]”j^)�”}”(hj9Ch]”hŒtipc_tfm”…”�”}”(hj_Ch²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj[Cubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj;Ch²hh³jLCh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj7Ch²hh³jLCh´Kubah}”(h]”j2Cah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jLCh´Khj4Ch²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ)TIPC TFM structure to form a list of TFMs”h]”hŒ)TIPC TFM structure to form a list of TFMs”…”�”}”(hj�Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´K}hj~Ch²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj4Ch²hh³jLCh´Kubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬j™Cj­j™Cj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hŒ°**Definition**:: struct tipc_tfm { struct crypto_aead *tfm; struct list_head list; }; **Members** ``tfm`` cipher handle/key ``list`` linked list of TFMs”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj¥Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¡CubhŒ:”…”�”}”(hj¡Ch²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´K�hj�Cubj×)�”}”(hŒLstruct tipc_tfm { struct crypto_aead *tfm; struct list_head list; };”h]”hŒLstruct tipc_tfm { struct crypto_aead *tfm; struct list_head list; };”…”�”}”hj¾Csbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Kƒhj�Cubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hjÏCh]”hŒMembers”…”�”}”(hjÑCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÍCubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Kˆhj�Cubj)�”}”(hhh]”(j)�”}”(hŒ``tfm`` cipher handle/key ”h]”(j )�”}”(hŒ``tfm``”h]”j)�”}”(hjîCh]”hŒtfm”…”�”}”(hjðCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjìCubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KhjèCubj')�”}”(hhh]”hï)�”}”(hŒcipher handle/key”h]”hŒcipher handle/key”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jDh´KhjDubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjèCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jDh´KhjåCubj)�”}”(hŒ``list`` linked list of TFMs”h]”(j )�”}”(hŒ``list``”h]”j)�”}”(hj'Dh]”hŒlist”…”�”}”(hj)Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%Dubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Khj!Dubj')�”}”(hhh]”hï)�”}”(hŒlinked list of TFMs”h]”hŒlinked list of TFMs”…”�”}”(hj@Dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´K€hj=Dubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj!Dubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jKubj')�”}”(hhh]”hï)�”}”(hŒsession key's mode”h]”hŒsession key’s mode”…”�”}”(hj]Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jYKh´KºhjZKubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj>Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jYKh´KºhjåIubj)�”}”(hŒ``skey`` received session key ”h]”(j )�”}”(hŒ``skey``”h]”j)�”}”(hj}Kh]”hŒskey”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj{Kubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´K»hjwKubj')�”}”(hhh]”hï)�”}”(hŒreceived session key”h]”hŒreceived session key”…”�”}”(hj–Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j’Kh´K»hj“Kubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjwKubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j’Kh´K»hjåIubj)�”}”(hŒ%``wq`` common workqueue on TX crypto ”h]”(j )�”}”(hŒ``wq``”h]”j)�”}”(hj¶Kh]”hŒwq”…”�”}”(hj¸Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj´Kubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´K¼hj°Kubj')�”}”(hhh]”hï)�”}”(hŒcommon workqueue on TX crypto”h]”hŒcommon workqueue on TX crypto”…”�”}”(hjÏKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jËKh´K¼hjÌKubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj°Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jËKh´K¼hjåIubj)�”}”(hŒ&``work`` delayed work sched for TX/RX ”h]”(j )�”}”(hŒ``work``”h]”j)�”}”(hjïKh]”hŒwork”…”�”}”(hjñKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjíKubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´K½hjéKubj')�”}”(hhh]”hï)�”}”(hŒdelayed work sched for TX/RX”h]”hŒdelayed work sched for TX/RX”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jLh´K½hjLubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjéKubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jLh´K½hjåIubj)�”}”(hŒ%``key_distr`` key distributing state ”h]”(j )�”}”(hŒ ``key_distr``”h]”j)�”}”(hj(Lh]”hŒ key_distr”…”�”}”(hj*Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´K¾hj"Lubj')�”}”(hhh]”hï)�”}”(hŒkey distributing state”h]”hŒkey distributing state”…”�”}”(hjALh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j=Lh´K¾hj>Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj"Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j=Lh´K¾hjåIubj)�”}”(hŒ1``rekeying_intv`` rekeying interval (in minutes) ”h]”(j )�”}”(hŒ``rekeying_intv``”h]”j)�”}”(hjaLh]”hŒ rekeying_intv”…”�”}”(hjcLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj_Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´K¿hj[Lubj')�”}”(hhh]”hï)�”}”(hŒrekeying interval (in minutes)”h]”hŒrekeying interval (in minutes)”…”�”}”(hjzLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jvLh´K¿hjwLubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj[Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jvLh´K¿hjåIubj)�”}”(hŒ ``stats`` the crypto statistics ”h]”(j )�”}”(hŒ ``stats``”h]”j)�”}”(hjšLh]”hŒstats”…”�”}”(hjœLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj˜Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÀhj”Lubj')�”}”(hhh]”hï)�”}”(hŒthe crypto statistics”h]”hŒthe crypto statistics”…”�”}”(hj³Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¯Lh´KÀhj°Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj”Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¯Lh´KÀhjåIubj)�”}”(hŒ``name`` the crypto name ”h]”(j )�”}”(hŒ``name``”h]”j)�”}”(hjÓLh]”hŒname”…”�”}”(hjÕLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÑLubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÁhjÍLubj')�”}”(hhh]”hï)�”}”(hŒthe crypto name”h]”hŒthe crypto name”…”�”}”(hjìLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jèLh´KÁhjéLubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÍLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jèLh´KÁhjåIubj)�”}”(hŒ%``timer1`` general timer 1 (jiffies) ”h]”(j )�”}”(hŒ ``timer1``”h]”j)�”}”(hj Mh]”hŒtimer1”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Mubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÂhjMubj')�”}”(hhh]”hï)�”}”(hŒgeneral timer 1 (jiffies)”h]”hŒgeneral timer 1 (jiffies)”…”�”}”(hj%Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j!Mh´KÂhj"Mubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j!Mh´KÂhjåIubj)�”}”(hŒ%``timer2`` general timer 2 (jiffies) ”h]”(j )�”}”(hŒ ``timer2``”h]”j)�”}”(hjEMh]”hŒtimer2”…”�”}”(hjGMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjCMubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÃhj?Mubj')�”}”(hhh]”hï)�”}”(hŒgeneral timer 2 (jiffies)”h]”hŒgeneral timer 2 (jiffies)”…”�”}”(hj^Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jZMh´KÃhj[Mubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj?Mubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jZMh´KÃhjåIubj)�”}”(hŒ``{unnamed_union}`` anonymous ”h]”(j )�”}”(hŒ``{unnamed_union}``”h]”j)�”}”(hj~Mh]”hŒ{unnamed_union}”…”�”}”(hj€Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj|Mubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KhjxMubj')�”}”(hhh]”hï)�”}”(hŒ anonymous”h]”hŒ anonymous”…”�”}”(hj—Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j“Mh´Khj”Mubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjxMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j“Mh´KhjåIubj)�”}”(hŒ``{unnamed_struct}`` anonymous ”h]”(j )�”}”(hŒ``{unnamed_struct}``”h]”j)�”}”(hj·Mh]”hŒ{unnamed_struct}”…”�”}”(hj¹Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjµMubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Khj±Mubj')�”}”(hhh]”hï)�”}”(hŒ anonymous”h]”hŒ anonymous”…”�”}”(hjÐMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÌMh´KhjÍMubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj±Mubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÌMh´KhjåIubj)�”}”(hŒ)``working`` the crypto is working or not ”h]”(j )�”}”(hŒ ``working``”h]”j)�”}”(hjðMh]”hŒworking”…”�”}”(hjòMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjîMubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÄhjêMubj')�”}”(hhh]”hï)�”}”(hŒthe crypto is working or not”h]”hŒthe crypto is working or not”…”�”}”(hj Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jNh´KÄhjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjêMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jNh´KÄhjåIubj)�”}”(hŒ3``key_master`` flag indicates if master key exists ”h]”(j )�”}”(hŒ``key_master``”h]”j)�”}”(hj)Nh]”hŒ key_master”…”�”}”(hj+Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj'Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÅhj#Nubj')�”}”(hhh]”hï)�”}”(hŒ#flag indicates if master key exists”h]”hŒ#flag indicates if master key exists”…”�”}”(hjBNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j>Nh´KÅhj?Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj#Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j>Nh´KÅhjåIubj)�”}”(hŒN``legacy_user`` flag indicates if a peer joins w/o master key (for bwd comp.) ”h]”(j )�”}”(hŒ``legacy_user``”h]”j)�”}”(hjbNh]”hŒ legacy_user”…”�”}”(hjdNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj`Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÆhj\Nubj')�”}”(hhh]”hï)�”}”(hŒ=flag indicates if a peer joins w/o master key (for bwd comp.)”h]”hŒ=flag indicates if a peer joins w/o master key (for bwd comp.)”…”�”}”(hj{Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jwNh´KÆhjxNubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj\Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jwNh´KÆhjåIubj)�”}”(hŒ``nokey`` no key indication ”h]”(j )�”}”(hŒ ``nokey``”h]”j)�”}”(hj›Nh]”hŒnokey”…”�”}”(hj�Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj™Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÇhj•Nubj')�”}”(hhh]”hï)�”}”(hŒno key indication”h]”hŒno key indication”…”�”}”(hj´Nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j°Nh´KÇhj±Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj•Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j°Nh´KÇhjåIubj)�”}”(hŒ``flags`` combined flags field ”h]”(j )�”}”(hŒ ``flags``”h]”j)�”}”(hjÔNh]”hŒflags”…”�”}”(hjÖNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÒNubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÈhjÎNubj')�”}”(hhh]”hï)�”}”(hŒcombined flags field”h]”hŒcombined flags field”…”�”}”(hjíNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jéNh´KÈhjêNubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÎNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jéNh´KÈhjåIubj)�”}”(hŒ``lock`` tipc_key lock”h]”(j )�”}”(hŒ``lock``”h]”j)�”}”(hj Oh]”hŒlock”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Oubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÈhjOubj')�”}”(hhh]”hï)�”}”(hŒ tipc_key lock”h]”hŒ tipc_key lock”…”�”}”(hj&Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´KÉhj#Oubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjOubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j"Oh´KÈhjåIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj�Iubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ#tipc_aead_key_validate (C function)”Œc.tipc_aead_key_validate”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒOint tipc_aead_key_validate (struct tipc_aead_key *ukey, struct genl_info *info)”h]”j/)�”}”(hŒNint tipc_aead_key_validate(struct tipc_aead_key *ukey, struct genl_info *info)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjgOh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjcOh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MHubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvOh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjcOh²hh³juOh´MHubjX)�”}”(hŒtipc_aead_key_validate”h]”j^)�”}”(hŒtipc_aead_key_validate”h]”hŒtipc_aead_key_validate”…”�”}”(hjˆOh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj„Oubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjcOh²hh³juOh´MHubj)�”}”(hŒ4(struct tipc_aead_key *ukey, struct genl_info *info)”h]”(j%)�”}”(hŒstruct tipc_aead_key *ukey”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¤Oh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj OubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±Oh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Oubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead_key”h]”hŒ tipc_aead_key”…”�”}”(hjÂOh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¿Oubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÄOŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjŠOsbŒc.tipc_aead_key_validate”†”asbuh1hhj OubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâOh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Oubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjðOh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj Oubj^)�”}”(hŒukey”h]”hŒukey”…”�”}”(hjýOh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj Oubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjœOubj%)�”}”(hŒstruct genl_info *info”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjPubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#Ph²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjPubh)�”}”(hhh]”j^)�”}”(hŒ genl_info”h]”hŒ genl_info”…”�”}”(hj4Ph²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj1Pubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j6PŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÞOŒc.tipc_aead_key_validate”†”asbuh1hhjPubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRPh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjPubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj`Ph²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjPubj^)�”}”(hŒinfo”h]”hŒinfo”…”�”}”(hjmPh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjPubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjœOubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjcOh²hh³juOh´MHubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj_Oh²hh³juOh´MHubah}”(h]”jZOah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³juOh´MHhj\Oh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒValidate a AEAD user key”h]”hŒValidate a AEAD user key”…”�”}”(hj—Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MHhj”Ph²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj\Oh²hh³juOh´MHubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j¯Pj­j¯Pj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hŒ|**Parameters** ``struct tipc_aead_key *ukey`` pointer to user key data ``struct genl_info *info`` netlink info pointer”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj¹Ph]”hŒ Parameters”…”�”}”(hj»Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj·Pubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MLhj³Pubj)�”}”(hhh]”(j)�”}”(hŒ8``struct tipc_aead_key *ukey`` pointer to user key data ”h]”(j )�”}”(hŒ``struct tipc_aead_key *ukey``”h]”j)�”}”(hjØPh]”hŒstruct tipc_aead_key *ukey”…”�”}”(hjÚPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÖPubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MIhjÒPubj')�”}”(hhh]”hï)�”}”(hŒpointer to user key data”h]”hŒpointer to user key data”…”�”}”(hjñPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jíPh´MIhjîPubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÒPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jíPh´MIhjÏPubj)�”}”(hŒ/``struct genl_info *info`` netlink info pointer”h]”(j )�”}”(hŒ``struct genl_info *info``”h]”j)�”}”(hjQh]”hŒstruct genl_info *info”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjQubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MKhj Qubj')�”}”(hhh]”hï)�”}”(hŒnetlink info pointer”h]”hŒnetlink info pointer”…”�”}”(hj*Qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MJhj'Qubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj Qubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j&Qh´MKhjÏPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj³Pubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ#tipc_aead_key_generate (C function)”Œc.tipc_aead_key_generate”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ7int tipc_aead_key_generate (struct tipc_aead_key *skey)”h]”j/)�”}”(hŒ6int tipc_aead_key_generate(struct tipc_aead_key *skey)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjkQh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjgQh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MiubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzQh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjgQh²hh³jyQh´MiubjX)�”}”(hŒtipc_aead_key_generate”h]”j^)�”}”(hŒtipc_aead_key_generate”h]”hŒtipc_aead_key_generate”…”�”}”(hjŒQh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjˆQubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjgQh²hh³jyQh´Miubj)�”}”(hŒ(struct tipc_aead_key *skey)”h]”j%)�”}”(hŒstruct tipc_aead_key *skey”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¨Qh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj¤QubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµQh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¤Qubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead_key”h]”hŒ tipc_aead_key”…”�”}”(hjÆQh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÃQubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÈQŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjŽQsbŒc.tipc_aead_key_generate”†”asbuh1hhj¤QubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæQh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¤Qubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjôQh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¤Qubj^)�”}”(hŒskey”h]”hŒskey”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¤Qubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj Qubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjgQh²hh³jyQh´Miubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjcQh²hh³jyQh´Miubah}”(h]”j^Qah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jyQh´Mihj`Qh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒGenerate new session key”h]”hŒGenerate new session key”…”�”}”(hj+Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mihj(Rh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj`Qh²hh³jyQh´Miubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jCRj­jCRj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hŒƒ**Parameters** ``struct tipc_aead_key *skey`` input/output key with new content **Return** 0 in case of success, otherwise < 0”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjMRh]”hŒ Parameters”…”�”}”(hjORh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjKRubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MmhjGRubj)�”}”(hhh]”j)�”}”(hŒA``struct tipc_aead_key *skey`` input/output key with new content ”h]”(j )�”}”(hŒ``struct tipc_aead_key *skey``”h]”j)�”}”(hjlRh]”hŒstruct tipc_aead_key *skey”…”�”}”(hjnRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjjRubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MjhjfRubj')�”}”(hhh]”hï)�”}”(hŒ!input/output key with new content”h]”hŒ!input/output key with new content”…”�”}”(hj…Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j�Rh´Mjhj‚Rubah}”(h•]”h ]”h"]”h$]”h&]”uh1j&hjfRubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�Rh´MjhjcRubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjGRubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj§Rh]”hŒReturn”…”�”}”(hj©Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¥Rubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MlhjGRubhï)�”}”(hŒ#0 in case of success, otherwise < 0”h]”hŒ#0 in case of success, otherwise < 0”…”�”}”(hj½Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MlhjGRubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_aead_free (C function)”Œc.tipc_aead_free”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ)void tipc_aead_free (struct rcu_head *rp)”h]”j/)�”}”(hŒ(void tipc_aead_free(struct rcu_head *rp)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjìRh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjèRh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MˆubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûRh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjèRh²hh³júRh´MˆubjX)�”}”(hŒtipc_aead_free”h]”j^)�”}”(hŒtipc_aead_free”h]”hŒtipc_aead_free”…”�”}”(hj Sh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj Subah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjèRh²hh³júRh´Mˆubj)�”}”(hŒ(struct rcu_head *rp)”h]”j%)�”}”(hŒstruct rcu_head *rp”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj)Sh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj%SubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6Sh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj%Subh)�”}”(hhh]”j^)�”}”(hŒrcu_head”h]”hŒrcu_head”…”�”}”(hjGSh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjDSubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jISŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjSsbŒc.tipc_aead_free”†”asbuh1hhj%SubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgSh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj%Subj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjuSh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj%Subj^)�”}”(hŒrp”h]”hŒrp”…”�”}”(hj‚Sh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj%Subeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj!Subah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjèRh²hh³júRh´Mˆubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjäRh²hh³júRh´Mˆubah}”(h]”jßRah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³júRh´MˆhjáRh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ/Release AEAD key incl. all the TFMs in the list”h]”hŒ/Release AEAD key incl. all the TFMs in the list”…”�”}”(hj¬Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mˆhj©Sh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjáRh²hh³júRh´Mˆubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÄSj­jÄSj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hŒ:**Parameters** ``struct rcu_head *rp`` rcu head pointer”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÎSh]”hŒ Parameters”…”�”}”(hjÐSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÌSubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MŒhjÈSubj)�”}”(hhh]”j)�”}”(hŒ(``struct rcu_head *rp`` rcu head pointer”h]”(j )�”}”(hŒ``struct rcu_head *rp``”h]”j)�”}”(hjíSh]”hŒstruct rcu_head *rp”…”�”}”(hjïSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjëSubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MŽhjçSubj')�”}”(hhh]”hï)�”}”(hŒrcu head pointer”h]”hŒrcu head pointer”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M‰hjTubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjçSubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jTh´MŽhjäSubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÈSubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_aead_tfm_next (C function)”Œc.tipc_aead_tfm_next”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ@struct crypto_aead * tipc_aead_tfm_next (struct tipc_aead *aead)”h]”j/)�”}”(hŒ>struct crypto_aead *tipc_aead_tfm_next(struct tipc_aead *aead)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjGTh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjCTh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÚubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUTh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjCTh²hh³jTTh´MÚubh)�”}”(hhh]”j^)�”}”(hŒ crypto_aead”h]”hŒ crypto_aead”…”�”}”(hjfTh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjcTubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jhTŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒtipc_aead_tfm_next”sbŒc.tipc_aead_tfm_next”†”asbuh1hhjCTh²hh³jTTh´MÚubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡Th²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjCTh²hh³jTTh´MÚubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj•Th²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjCTh²hh³jTTh´MÚubjX)�”}”(hŒtipc_aead_tfm_next”h]”j^)�”}”(hj„Th]”hŒtipc_aead_tfm_next”…”�”}”(hj¦Th²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¢Tubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjCTh²hh³jTTh´MÚubj)�”}”(hŒ(struct tipc_aead *aead)”h]”j%)�”}”(hŒstruct tipc_aead *aead”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÁTh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj½TubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎTh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj½Tubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead”h]”hŒ tipc_aead”…”�”}”(hjßTh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÜTubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jáTŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j‚TŒc.tipc_aead_tfm_next”†”asbuh1hhj½TubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýTh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj½Tubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj Uh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj½Tubj^)�”}”(hŒaead”h]”hŒaead”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj½Tubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¹Tubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjCTh²hh³jTTh´MÚubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj?Th²hh³jTTh´MÚubah}”(h]”j:Tah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jTTh´MÚhj(struct tipc_aead **aead, struct tipc_aead_key *ukey, u8 mode)”h]”(j%)�”}”(hŒstruct tipc_aead **aead”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjVubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'Vh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjVubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead”h]”hŒ tipc_aead”…”�”}”(hj8Vh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj5Vubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j:VŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjVsbŒc.tipc_aead_init”†”asbuh1hhjVubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXVh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjVubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjfVh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjVubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjsVh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjVubj^)�”}”(hŒaead”h]”hŒaead”…”�”}”(hj€Vh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjVubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjVubj%)�”}”(hŒstruct tipc_aead_key *ukey”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj™Vh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj•VubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦Vh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj•Vubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead_key”h]”hŒ tipc_aead_key”…”�”}”(hj·Vh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj´Vubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¹VŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jTVŒc.tipc_aead_init”†”asbuh1hhj•VubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕVh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj•Vubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjãVh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj•Vubj^)�”}”(hŒukey”h]”hŒukey”…”�”}”(hjðVh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj•Vubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjVubj%)�”}”(hŒu8 mode”h]”(h)�”}”(hhh]”j^)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj Wh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj Wubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jWŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jTVŒc.tipc_aead_init”†”asbuh1hhjWubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*Wh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjWubj^)�”}”(hŒmode”h]”hŒmode”…”�”}”(hj8Wh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjWubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjVubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÙUh²hh³jëUh´Mëubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÕUh²hh³jëUh´Mëubah}”(h]”jÐUah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jëUh´MëhjÒUh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒInitiate TIPC AEAD”h]”hŒInitiate TIPC AEAD”…”�”}”(hjbWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mëhj_Wh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÒUh²hh³jëUh´Mëubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jzWj­jzWj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hXç**Parameters** ``struct tipc_aead **aead`` returned new TIPC AEAD key handle pointer ``struct tipc_aead_key *ukey`` pointer to user key data ``u8 mode`` the key mode **Description** Allocate a (list of) new cipher transformation (TFM) with the specific user key data if valid. The number of the allocated TFMs can be set via the sysfs "net/tipc/max_tfms" first. Also, all the other AEAD data are also initialized. **Return** 0 if the initiation is successful, otherwise: < 0”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj„Wh]”hŒ Parameters”…”�”}”(hj†Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj‚Wubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mïhj~Wubj)�”}”(hhh]”(j)�”}”(hŒF``struct tipc_aead **aead`` returned new TIPC AEAD key handle pointer ”h]”(j )�”}”(hŒ``struct tipc_aead **aead``”h]”j)�”}”(hj£Wh]”hŒstruct tipc_aead **aead”…”�”}”(hj¥Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¡Wubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mìhj�Wubj')�”}”(hhh]”hï)�”}”(hŒ)returned new TIPC AEAD key handle pointer”h]”hŒ)returned new TIPC AEAD key handle pointer”…”�”}”(hj¼Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¸Wh´Mìhj¹Wubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�Wubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¸Wh´MìhjšWubj)�”}”(hŒ8``struct tipc_aead_key *ukey`` pointer to user key data ”h]”(j )�”}”(hŒ``struct tipc_aead_key *ukey``”h]”j)�”}”(hjÜWh]”hŒstruct tipc_aead_key *ukey”…”�”}”(hjÞWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÚWubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MíhjÖWubj')�”}”(hhh]”hï)�”}”(hŒpointer to user key data”h]”hŒpointer to user key data”…”�”}”(hjõWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jñWh´MíhjòWubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÖWubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jñWh´MíhjšWubj)�”}”(hŒ``u8 mode`` the key mode ”h]”(j )�”}”(hŒ ``u8 mode``”h]”j)�”}”(hjXh]”hŒu8 mode”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjXubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MîhjXubj')�”}”(hhh]”hï)�”}”(hŒ the key mode”h]”hŒ the key mode”…”�”}”(hj.Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j*Xh´Mîhj+Xubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjXubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j*Xh´MîhjšWubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj~Wubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjPXh]”hŒ Description”…”�”}”(hjRXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjNXubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mðhj~Wubhï)�”}”(hŒçAllocate a (list of) new cipher transformation (TFM) with the specific user key data if valid. The number of the allocated TFMs can be set via the sysfs "net/tipc/max_tfms" first. Also, all the other AEAD data are also initialized.”h]”hŒëAllocate a (list of) new cipher transformation (TFM) with the specific user key data if valid. The number of the allocated TFMs can be set via the sysfs “net/tipc/max_tfmsâ€� first. Also, all the other AEAD data are also initialized.”…”�”}”(hjfXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mïhj~Wubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjwXh]”hŒReturn”…”�”}”(hjyXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjuXubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Môhj~Wubhï)�”}”(hŒ10 if the initiation is successful, otherwise: < 0”h]”hŒ10 if the initiation is successful, otherwise: < 0”…”�”}”(hj�Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mõhj~Wubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_aead_clone (C function)”Œc.tipc_aead_clone”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒCint tipc_aead_clone (struct tipc_aead **dst, struct tipc_aead *src)”h]”j/)�”}”(hŒBint tipc_aead_clone(struct tipc_aead **dst, struct tipc_aead *src)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj¼Xh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¸Xh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M[ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËXh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¸Xh²hh³jÊXh´M[ubjX)�”}”(hŒtipc_aead_clone”h]”j^)�”}”(hŒtipc_aead_clone”h]”hŒtipc_aead_clone”…”�”}”(hjÝXh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÙXubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj¸Xh²hh³jÊXh´M[ubj)�”}”(hŒ/(struct tipc_aead **dst, struct tipc_aead *src)”h]”(j%)�”}”(hŒstruct tipc_aead **dst”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjùXh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjõXubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjõXubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead”h]”hŒ tipc_aead”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjYubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jYŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjßXsbŒc.tipc_aead_clone”†”asbuh1hhjõXubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7Yh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjõXubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjEYh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjõXubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjRYh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjõXubj^)�”}”(hŒdst”h]”hŒdst”…”�”}”(hj_Yh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjõXubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjñXubj%)�”}”(hŒstruct tipc_aead *src”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjxYh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjtYubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…Yh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjtYubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead”h]”hŒ tipc_aead”…”�”}”(hj–Yh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj“Yubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j˜YŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j3YŒc.tipc_aead_clone”†”asbuh1hhjtYubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´Yh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjtYubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÂYh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjtYubj^)�”}”(hŒsrc”h]”hŒsrc”…”�”}”(hjÏYh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjtYubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjñXubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj¸Xh²hh³jÊXh´M[ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj´Xh²hh³jÊXh´M[ubah}”(h]”j¯Xah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÊXh´M[hj±Xh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒClone a TIPC AEAD key”h]”hŒClone a TIPC AEAD key”…”�”}”(hjùYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M[hjöYh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj±Xh²hh³jÊXh´M[ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jZj­jZj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hX¬**Parameters** ``struct tipc_aead **dst`` dest key for the cloning ``struct tipc_aead *src`` source key to clone from **Description** Make a "copy" of the source AEAD key data to the dest, the TFMs list is common for the keys. A reference to the source is hold in the "cloned" pointer for the later freeing purposes. **Note** this must be done in cluster-key mode only! **Return** 0 in case of success, otherwise < 0”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjZh]”hŒ Parameters”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjZubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M_hjZubj)�”}”(hhh]”(j)�”}”(hŒ4``struct tipc_aead **dst`` dest key for the cloning ”h]”(j )�”}”(hŒ``struct tipc_aead **dst``”h]”j)�”}”(hj:Zh]”hŒstruct tipc_aead **dst”…”�”}”(hj``struct tipc_media_addr *dst`` the destination media address ”h]”(j )�”}”(hŒ``struct tipc_media_addr *dst``”h]”j)�”}”(hj`ch]”hŒstruct tipc_media_addr *dst”…”�”}”(hjbch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^cubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÉhjZcubj')�”}”(hhh]”hï)�”}”(hŒthe destination media address”h]”hŒthe destination media address”…”�”}”(hjych²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³juch´MÉhjvcubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjZcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³juch´MÉhj¬bubj)�”}”(hŒ8``struct tipc_node *__dnode`` TIPC dest node if "known" ”h]”(j )�”}”(hŒ``struct tipc_node *__dnode``”h]”j)�”}”(hj™ch]”hŒstruct tipc_node *__dnode”…”�”}”(hj›ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj—cubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÊhj“cubj')�”}”(hhh]”hï)�”}”(hŒTIPC dest node if "known"”h]”hŒTIPC dest node if “knownâ€�”…”�”}”(hj²ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j®ch´MÊhj¯cubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj“cubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j®ch´MÊhj¬bubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj�bubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjÔch]”hŒReturn”…”�”}”(hjÖch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÒcubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÌhj�bubj)�”}”(hhh]”(j)�”}”(hŒ50 : if the encryption has completed”h]”hï)�”}”(hjïch]”hŒ50 : if the encryption has completed”…”�”}”(hjñch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÌhjícubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjêcubj)�”}”(hŒ5-EINPROGRESS/-EBUSY : if a callback will be performed”h]”hï)�”}”(hjdh]”hŒ5-EINPROGRESS/-EBUSY : if a callback will be performed”…”�”}”(hj dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÍhjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjêcubj)�”}”(hŒ/< 0 : the encryption has failed”h]”hï)�”}”(hjdh]”hŒ/< 0 : the encryption has failed”…”�”}”(hj!dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÎhjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjêcubeh}”(h]”h ]”h"]”h$]”h&]”jìjúuh1jh³jþch´MÌhj�bubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_aead_decrypt (C function)”Œc.tipc_aead_decrypt”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒkint tipc_aead_decrypt (struct net *net, struct tipc_aead *aead, struct sk_buff *skb, struct tipc_bearer *b)”h]”j/)�”}”(hŒjint tipc_aead_decrypt(struct net *net, struct tipc_aead *aead, struct sk_buff *skb, struct tipc_bearer *b)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj[dh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjWdh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M`ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjdh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjWdh²hh³jidh´M`ubjX)�”}”(hŒtipc_aead_decrypt”h]”j^)�”}”(hŒtipc_aead_decrypt”h]”hŒtipc_aead_decrypt”…”�”}”(hj|dh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjxdubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjWdh²hh³jidh´M`ubj)�”}”(hŒU(struct net *net, struct tipc_aead *aead, struct sk_buff *skb, struct tipc_bearer *b)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj˜dh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj”dubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥dh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj”dubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj¶dh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj³dubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¸dŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj~dsbŒc.tipc_aead_decrypt”†”asbuh1hhj”dubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖdh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj”dubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjädh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj”dubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjñdh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj”dubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj�dubj%)�”}”(hŒstruct tipc_aead *aead”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj eh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjeubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjeubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead”h]”hŒ tipc_aead”…”�”}”(hj(eh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj%eubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j*eŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÒdŒc.tipc_aead_decrypt”†”asbuh1hhjeubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjFeh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjeubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjTeh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjeubj^)�”}”(hŒaead”h]”hŒaead”…”�”}”(hjaeh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjeubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj�dubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjzeh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjveubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡eh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjveubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj˜eh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj•eubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jšeŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÒdŒc.tipc_aead_decrypt”†”asbuh1hhjveubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶eh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjveubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÄeh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjveubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjÑeh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjveubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj�dubj%)�”}”(hŒstruct tipc_bearer *b”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjêeh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjæeubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷eh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjæeubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjfubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j fŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÒdŒc.tipc_aead_decrypt”†”asbuh1hhjæeubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&fh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjæeubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj4fh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjæeubj^)�”}”(hj•,h]”hŒb”…”�”}”(hjAfh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjæeubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj�dubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjWdh²hh³jidh´M`ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjSdh²hh³jidh´M`ubah}”(h]”jNdah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jidh´M`hjPdh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒDecrypt an encrypted message”h]”hŒDecrypt an encrypted message”…”�”}”(hjjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M`hjgfh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjPdh²hh³jidh´M`ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j‚fj­j‚fj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hXŸ**Parameters** ``struct net *net`` struct net ``struct tipc_aead *aead`` TIPC AEAD for the message decryption ``struct sk_buff *skb`` the input/output skb ``struct tipc_bearer *b`` TIPC bearer where the message has been received **Return** * 0 : if the decryption has completed * -EINPROGRESS/-EBUSY : if a callback will be performed * < 0 : the decryption has failed”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjŒfh]”hŒ Parameters”…”�”}”(hjŽfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjŠfubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mdhj†fubj)�”}”(hhh]”(j)�”}”(hŒ``struct net *net`` struct net ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj«fh]”hŒstruct net *net”…”�”}”(hj­fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj©fubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mahj¥fubj')�”}”(hhh]”hï)�”}”(hŒ struct net”h]”hŒ struct net”…”�”}”(hjÄfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÀfh´MahjÁfubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¥fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÀfh´Mahj¢fubj)�”}”(hŒ@``struct tipc_aead *aead`` TIPC AEAD for the message decryption ”h]”(j )�”}”(hŒ``struct tipc_aead *aead``”h]”j)�”}”(hjäfh]”hŒstruct tipc_aead *aead”…”�”}”(hjæfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjâfubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MbhjÞfubj')�”}”(hhh]”hï)�”}”(hŒ$TIPC AEAD for the message decryption”h]”hŒ$TIPC AEAD for the message decryption”…”�”}”(hjýfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jùfh´Mbhjúfubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÞfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jùfh´Mbhj¢fubj)�”}”(hŒ-``struct sk_buff *skb`` the input/output skb ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjgh]”hŒstruct sk_buff *skb”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjgubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mchjgubj')�”}”(hhh]”hï)�”}”(hŒthe input/output skb”h]”hŒthe input/output skb”…”�”}”(hj6gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j2gh´Mchj3gubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjgubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j2gh´Mchj¢fubj)�”}”(hŒJ``struct tipc_bearer *b`` TIPC bearer where the message has been received ”h]”(j )�”}”(hŒ``struct tipc_bearer *b``”h]”j)�”}”(hjVgh]”hŒstruct tipc_bearer *b”…”�”}”(hjXgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjTgubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MdhjPgubj')�”}”(hhh]”hï)�”}”(hŒ/TIPC bearer where the message has been received”h]”hŒ/TIPC bearer where the message has been received”…”�”}”(hjogh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jkgh´Mdhjlgubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjPgubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jkgh´Mdhj¢fubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj†fubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj‘gh]”hŒReturn”…”�”}”(hj“gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj�gubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mfhj†fubj)�”}”(hhh]”(j)�”}”(hŒ50 : if the decryption has completed”h]”hï)�”}”(hj¬gh]”hŒ50 : if the decryption has completed”…”�”}”(hj®gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mfhjªgubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj§gubj)�”}”(hŒ5-EINPROGRESS/-EBUSY : if a callback will be performed”h]”hï)�”}”(hjÄgh]”hŒ5-EINPROGRESS/-EBUSY : if a callback will be performed”…”�”}”(hjÆgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MghjÂgubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj§gubj)�”}”(hŒ/< 0 : the decryption has failed”h]”hï)�”}”(hjÜgh]”hŒ/< 0 : the decryption has failed”…”�”}”(hjÞgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MhhjÚgubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj§gubeh}”(h]”h ]”h"]”h$]”h&]”jìjúuh1jh³j»gh´Mfhj†fubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_ehdr_validate (C function)”Œc.tipc_ehdr_validate”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ-bool tipc_ehdr_validate (struct sk_buff *skb)”h]”j/)�”}”(hŒ,bool tipc_ehdr_validate(struct sk_buff *skb)”h]”(jG)�”}”(hŒbool”h]”hŒbool”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjhh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MêubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'hh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjhh²hh³j&hh´MêubjX)�”}”(hŒtipc_ehdr_validate”h]”j^)�”}”(hŒtipc_ehdr_validate”h]”hŒtipc_ehdr_validate”…”�”}”(hj9hh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj5hubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjhh²hh³j&hh´Mêubj)�”}”(hŒ(struct sk_buff *skb)”h]”j%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjUhh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjQhubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjbhh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjQhubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjshh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjphubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”juhŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj;hsbŒc.tipc_ehdr_validate”†”asbuh1hhjQhubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“hh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjQhubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¡hh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjQhubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj®hh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjQhubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjMhubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjhh²hh³j&hh´Mêubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjhh²hh³j&hh´Mêubah}”(h]”j hah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j&hh´Mêhj hh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒValidate an encryption message”h]”hŒValidate an encryption message”…”�”}”(hjØhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MêhjÕhh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj hh²hh³j&hh´Mêubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jðhj­jðhj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hŒ‰**Parameters** ``struct sk_buff *skb`` the message buffer **Return** "true" if this is a valid encryption message, otherwise "false"”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjúhh]”hŒ Parameters”…”�”}”(hjühh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjøhubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mîhjôhubj)�”}”(hhh]”j)�”}”(hŒ+``struct sk_buff *skb`` the message buffer ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjih]”hŒstruct sk_buff *skb”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjiubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mëhjiubj')�”}”(hhh]”hï)�”}”(hŒthe message buffer”h]”hŒthe message buffer”…”�”}”(hj2ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j.ih´Mëhj/iubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjiubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j.ih´Mëhjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjôhubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjTih]”hŒReturn”…”�”}”(hjVih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjRiubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Míhjôhubhï)�”}”(hŒ?"true" if this is a valid encryption message, otherwise "false"”h]”hŒG“trueâ€� if this is a valid encryption message, otherwise “falseâ€�”…”�”}”(hjjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Míhjôhubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_ehdr_build (C function)”Œc.tipc_ehdr_build”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒwint tipc_ehdr_build (struct net *net, struct tipc_aead *aead, u8 tx_key, struct sk_buff *skb, struct tipc_crypto *__rx)”h]”j/)�”}”(hŒvint tipc_ehdr_build(struct net *net, struct tipc_aead *aead, u8 tx_key, struct sk_buff *skb, struct tipc_crypto *__rx)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj™ih²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj•ih²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨ih²hh³N•h´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj•ih²hh³j§ih´MubjX)�”}”(hŒtipc_ehdr_build”h]”j^)�”}”(hŒtipc_ehdr_build”h]”hŒtipc_ehdr_build”…”�”}”(hjºih²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¶iubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj•ih²hh³j§ih´Mubj)�”}”(hŒc(struct net *net, struct tipc_aead *aead, u8 tx_key, struct sk_buff *skb, struct tipc_crypto *__rx)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÖih²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÒiubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãih²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÒiubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjôih²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjñiubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jöiŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¼isbŒc.tipc_ehdr_build”†”asbuh1hhjÒiubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÒiubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj"jh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÒiubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj/jh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÒiubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÎiubj%)�”}”(hŒstruct tipc_aead *aead”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjHjh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjDjubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUjh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjDjubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead”h]”hŒ tipc_aead”…”�”}”(hjfjh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjcjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jhjŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jjŒc.tipc_ehdr_build”†”asbuh1hhjDjubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„jh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjDjubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj’jh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjDjubj^)�”}”(hŒaead”h]”hŒaead”…”�”}”(hjŸjh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjDjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÎiubj%)�”}”(hŒ u8 tx_key”h]”(h)�”}”(hhh]”j^)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj»jh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¸jubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j½jŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jjŒc.tipc_ehdr_build”†”asbuh1hhj´jubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙjh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj´jubj^)�”}”(hŒtx_key”h]”hŒtx_key”…”�”}”(hjçjh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj´jubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÎiubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjüjubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj kh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjüjubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjkubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j kŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jjŒc.tipc_ehdr_build”†”asbuh1hhjüjubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj‹mh²hh³j¤mh´MXubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jYoj­jYoj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hX¹**Parameters** ``struct tipc_crypto *c`` TIPC crypto to which new key is attached ``struct tipc_aead_key *ukey`` the user key ``u8 mode`` the key mode (CLUSTER_KEY or PER_NODE_KEY) ``bool master_key`` specify this is a cluster master key **Description** A new TIPC AEAD key will be allocated and initiated with the specified user key, then attached to the TIPC crypto. **Return** new key id in case of success, otherwise: < 0”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjcoh]”hŒ Parameters”…”�”}”(hjeoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjaoubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M\hj]oubj)�”}”(hhh]”(j)�”}”(hŒC``struct tipc_crypto *c`` TIPC crypto to which new key is attached ”h]”(j )�”}”(hŒ``struct tipc_crypto *c``”h]”j)�”}”(hj‚oh]”hŒstruct tipc_crypto *c”…”�”}”(hj„oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€oubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MYhj|oubj')�”}”(hhh]”hï)�”}”(hŒ(TIPC crypto to which new key is attached”h]”hŒ(TIPC crypto to which new key is attached”…”�”}”(hj›oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j—oh´MYhj˜oubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj|oubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j—oh´MYhjyoubj)�”}”(hŒ,``struct tipc_aead_key *ukey`` the user key ”h]”(j )�”}”(hŒ``struct tipc_aead_key *ukey``”h]”j)�”}”(hj»oh]”hŒstruct tipc_aead_key *ukey”…”�”}”(hj½oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹oubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MZhjµoubj')�”}”(hhh]”hï)�”}”(hŒ the user key”h]”hŒ the user key”…”�”}”(hjÔoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÐoh´MZhjÑoubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjµoubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÐoh´MZhjyoubj)�”}”(hŒ7``u8 mode`` the key mode (CLUSTER_KEY or PER_NODE_KEY) ”h]”(j )�”}”(hŒ ``u8 mode``”h]”j)�”}”(hjôoh]”hŒu8 mode”…”�”}”(hjöoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjòoubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M[hjîoubj')�”}”(hhh]”hï)�”}”(hŒ*the key mode (CLUSTER_KEY or PER_NODE_KEY)”h]”hŒ*the key mode (CLUSTER_KEY or PER_NODE_KEY)”…”�”}”(hj ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j ph´M[hj pubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjîoubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j ph´M[hjyoubj)�”}”(hŒ9``bool master_key`` specify this is a cluster master key ”h]”(j )�”}”(hŒ``bool master_key``”h]”j)�”}”(hj-ph]”hŒbool master_key”…”�”}”(hj/ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj+pubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M\hj'pubj')�”}”(hhh]”hï)�”}”(hŒ$specify this is a cluster master key”h]”hŒ$specify this is a cluster master key”…”�”}”(hjFph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jBph´M\hjCpubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj'pubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jBph´M\hjyoubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj]oubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjhph]”hŒ Description”…”�”}”(hjjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjfpubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M^hj]oubhï)�”}”(hŒrA new TIPC AEAD key will be allocated and initiated with the specified user key, then attached to the TIPC crypto.”h]”hŒrA new TIPC AEAD key will be allocated and initiated with the specified user key, then attached to the TIPC crypto.”…”�”}”(hj~ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M]hj]oubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj�ph]”hŒReturn”…”�”}”(hj‘ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj�pubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M`hj]oubhï)�”}”(hŒ-new key id in case of success, otherwise: < 0”h]”hŒ-new key id in case of success, otherwise: < 0”…”�”}”(hj¥ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mahj]oubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ#tipc_crypto_key_attach (C function)”Œc.tipc_crypto_key_attach”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒcint tipc_crypto_key_attach (struct tipc_crypto *c, struct tipc_aead *aead, u8 pos, bool master_key)”h]”j/)�”}”(hŒbint tipc_crypto_key_attach(struct tipc_crypto *c, struct tipc_aead *aead, u8 pos, bool master_key)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÔph²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÐph²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MwubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãph²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÐph²hh³jâph´MwubjX)�”}”(hŒtipc_crypto_key_attach”h]”j^)�”}”(hŒtipc_crypto_key_attach”h]”hŒtipc_crypto_key_attach”…”�”}”(hjõph²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjñpubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÐph²hh³jâph´Mwubj)�”}”(hŒH(struct tipc_crypto *c, struct tipc_aead *aead, u8 pos, bool master_key)”h]”(j%)�”}”(hŒstruct tipc_crypto *c”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj qubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj qubh)�”}”(hhh]”j^)�”}”(hŒ tipc_crypto”h]”hŒ tipc_crypto”…”�”}”(hj/qh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj,qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j1qŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj÷psbŒc.tipc_crypto_key_attach”†”asbuh1hhj qubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOqh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj qubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj]qh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj qubj^)�”}”(hj¦h]”hŒc”…”�”}”(hjjqh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj qubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj qubj%)�”}”(hŒstruct tipc_aead *aead”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj‚qh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj~qubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�qh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj~qubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead”h]”hŒ tipc_aead”…”�”}”(hj qh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�qubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¢qŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jKqŒc.tipc_crypto_key_attach”†”asbuh1hhj~qubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾qh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj~qubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÌqh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj~qubj^)�”}”(hŒaead”h]”hŒaead”…”�”}”(hjÙqh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj~qubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj qubj%)�”}”(hŒu8 pos”h]”(h)�”}”(hhh]”j^)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjõqh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjòqubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j÷qŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jKqŒc.tipc_crypto_key_attach”†”asbuh1hhjîqubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjîqubj^)�”}”(hŒpos”h]”hŒpos”…”�”}”(hj!rh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjîqubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj qubj%)�”}”(hŒbool master_key”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hj:rh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6rubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGrh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6rubj^)�”}”(hŒ master_key”h]”hŒ master_key”…”�”}”(hjUrh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj6rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj qubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÐph²hh³jâph´Mwubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÌph²hh³jâph´Mwubah}”(h]”jÇpah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jâph´MwhjÉph²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ$Attach a new AEAD key to TIPC crypto”h]”hŒ$Attach a new AEAD key to TIPC crypto”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mwhj|rh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÉph²hh³jâph´Mwubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j—rj­j—rj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hXN**Parameters** ``struct tipc_crypto *c`` TIPC crypto to which the new AEAD key is attached ``struct tipc_aead *aead`` the new AEAD key pointer ``u8 pos`` desired slot in the crypto key array, = 0 if any! ``bool master_key`` specify this is a cluster master key **Return** new key id in case of success, otherwise: -EBUSY”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj¡rh]”hŒ Parameters”…”�”}”(hj£rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjŸrubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M{hj›rubj)�”}”(hhh]”(j)�”}”(hŒL``struct tipc_crypto *c`` TIPC crypto to which the new AEAD key is attached ”h]”(j )�”}”(hŒ``struct tipc_crypto *c``”h]”j)�”}”(hjÀrh]”hŒstruct tipc_crypto *c”…”�”}”(hjÂrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¾rubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mxhjºrubj')�”}”(hhh]”hï)�”}”(hŒ1TIPC crypto to which the new AEAD key is attached”h]”hŒ1TIPC crypto to which the new AEAD key is attached”…”�”}”(hjÙrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÕrh´MxhjÖrubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjºrubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÕrh´Mxhj·rubj)�”}”(hŒ4``struct tipc_aead *aead`` the new AEAD key pointer ”h]”(j )�”}”(hŒ``struct tipc_aead *aead``”h]”j)�”}”(hjùrh]”hŒstruct tipc_aead *aead”…”�”}”(hjûrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷rubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Myhjórubj')�”}”(hhh]”hï)�”}”(hŒthe new AEAD key pointer”h]”hŒthe new AEAD key pointer”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jsh´Myhjsubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjórubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jsh´Myhj·rubj)�”}”(hŒ=``u8 pos`` desired slot in the crypto key array, = 0 if any! ”h]”(j )�”}”(hŒ ``u8 pos``”h]”j)�”}”(hj2sh]”hŒu8 pos”…”�”}”(hj4sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0subah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mzhj,subj')�”}”(hhh]”hï)�”}”(hŒ1desired slot in the crypto key array, = 0 if any!”h]”hŒ1desired slot in the crypto key array, = 0 if any!”…”�”}”(hjKsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jGsh´MzhjHsubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj,subeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jGsh´Mzhj·rubj)�”}”(hŒ9``bool master_key`` specify this is a cluster master key ”h]”(j )�”}”(hŒ``bool master_key``”h]”j)�”}”(hjksh]”hŒbool master_key”…”�”}”(hjmsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjisubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M{hjesubj')�”}”(hhh]”hï)�”}”(hŒ$specify this is a cluster master key”h]”hŒ$specify this is a cluster master key”…”�”}”(hj„sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j€sh´M{hj�subah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjesubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j€sh´M{hj·rubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj›rubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj¦sh]”hŒReturn”…”�”}”(hj¨sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¤subah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M}hj›rubhï)�”}”(hŒ0new key id in case of success, otherwise: -EBUSY”h]”hŒ0new key id in case of success, otherwise: -EBUSY”…”�”}”(hj¼sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M}hj›rubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ&tipc_crypto_key_try_align (C function)”Œc.tipc_crypto_key_try_align”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒGbool tipc_crypto_key_try_align (struct tipc_crypto *rx, u8 new_pending)”h]”j/)�”}”(hŒFbool tipc_crypto_key_try_align(struct tipc_crypto *rx, u8 new_pending)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjësh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjçsh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M×ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjùsh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjçsh²hh³jøsh´M×ubjX)�”}”(hŒtipc_crypto_key_try_align”h]”j^)�”}”(hŒtipc_crypto_key_try_align”h]”hŒtipc_crypto_key_try_align”…”�”}”(hj th²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjtubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjçsh²hh³jøsh´M×ubj)�”}”(hŒ((struct tipc_crypto *rx, u8 new_pending)”h]”(j%)�”}”(hŒstruct tipc_crypto *rx”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj'th²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj#tubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4th²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj#tubh)�”}”(hhh]”j^)�”}”(hŒ tipc_crypto”h]”hŒ tipc_crypto”…”�”}”(hjEth²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjBtubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jGtŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj tsbŒc.tipc_crypto_key_try_align”†”asbuh1hhj#tubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeth²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj#tubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjsth²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj#tubj^)�”}”(hŒrx”h]”hŒrx”…”�”}”(hj€th²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj#tubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjtubj%)�”}”(hŒu8 new_pending”h]”(h)�”}”(hhh]”j^)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjœth²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj™tubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jžtŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jatŒc.tipc_crypto_key_try_align”†”asbuh1hhj•tubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºth²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj•tubj^)�”}”(hŒ new_pending”h]”hŒ new_pending”…”�”}”(hjÈth²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj•tubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjtubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjçsh²hh³jøsh´M×ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjãsh²hh³jøsh´M×ubah}”(h]”jÞsah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jøsh´M×hjàsh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒAlign RX keys if possible”h]”hŒAlign RX keys if possible”…”�”}”(hjòth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M×hjïth²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjàsh²hh³jøsh´M×ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j uj­j uj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hX**Parameters** ``struct tipc_crypto *rx`` RX crypto handle ``u8 new_pending`` new pending slot if aligned (= TX key from peer) **Description** Peer has used an unknown key slot, this only happens when peer has left and rejoned, or we are newcomer. That means, there must be no active key but a pending key at unaligned slot. If so, we try to move the pending key to the new slot. **Note** A potential passive key can exist, it will be shifted correspondingly! **Return** "true" if key is successfully aligned, otherwise "false"”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjuh]”hŒ Parameters”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjuubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÛhjuubj)�”}”(hhh]”(j)�”}”(hŒ,``struct tipc_crypto *rx`` RX crypto handle ”h]”(j )�”}”(hŒ``struct tipc_crypto *rx``”h]”j)�”}”(hj3uh]”hŒstruct tipc_crypto *rx”…”�”}”(hj5uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj1uubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MØhj-uubj')�”}”(hhh]”hï)�”}”(hŒRX crypto handle”h]”hŒRX crypto handle”…”�”}”(hjLuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jHuh´MØhjIuubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj-uubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jHuh´MØhj*uubj)�”}”(hŒD``u8 new_pending`` new pending slot if aligned (= TX key from peer) ”h]”(j )�”}”(hŒ``u8 new_pending``”h]”j)�”}”(hjluh]”hŒu8 new_pending”…”�”}”(hjnuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjjuubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÙhjfuubj')�”}”(hhh]”hï)�”}”(hŒ0new pending slot if aligned (= TX key from peer)”h]”hŒ0new pending slot if aligned (= TX key from peer)”…”�”}”(hj…uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j�uh´MÙhj‚uubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjfuubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�uh´MÙhj*uubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjuubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj§uh]”hŒ Description”…”�”}”(hj©uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¥uubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÛhjuubhï)�”}”(hŒìPeer has used an unknown key slot, this only happens when peer has left and rejoned, or we are newcomer. That means, there must be no active key but a pending key at unaligned slot. If so, we try to move the pending key to the new slot.”h]”hŒìPeer has used an unknown key slot, this only happens when peer has left and rejoned, or we are newcomer. That means, there must be no active key but a pending key at unaligned slot. If so, we try to move the pending key to the new slot.”…”�”}”(hj½uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÚhjuubhï)�”}”(hŒ**Note**”h]”j¼)�”}”(hjÎuh]”hŒNote”…”�”}”(hjÐuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÌuubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mßhjuubhï)�”}”(hŒFA potential passive key can exist, it will be shifted correspondingly!”h]”hŒFA potential passive key can exist, it will be shifted correspondingly!”…”�”}”(hjäuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mßhjuubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjõuh]”hŒReturn”…”�”}”(hj÷uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjóuubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Máhjuubhï)�”}”(hŒ8"true" if key is successfully aligned, otherwise "false"”h]”hŒ@“trueâ€� if key is successfully aligned, otherwise “falseâ€�”…”�”}”(hj vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Máhjuubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ$tipc_crypto_key_pick_tx (C function)”Œc.tipc_crypto_key_pick_tx”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ{struct tipc_aead * tipc_crypto_key_pick_tx (struct tipc_crypto *tx, struct tipc_crypto *rx, struct sk_buff *skb, u8 tx_key)”h]”j/)�”}”(hŒystruct tipc_aead *tipc_crypto_key_pick_tx(struct tipc_crypto *tx, struct tipc_crypto *rx, struct sk_buff *skb, u8 tx_key)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj:vh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj6vh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHvh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6vh²hh³jGvh´Mubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead”h]”hŒ tipc_aead”…”�”}”(hjYvh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjVvubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j[vŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒtipc_crypto_key_pick_tx”sbŒc.tipc_crypto_key_pick_tx”†”asbuh1hhj6vh²hh³jGvh´MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzvh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6vh²hh³jGvh´Mubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjˆvh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj6vh²hh³jGvh´MubjX)�”}”(hŒtipc_crypto_key_pick_tx”h]”j^)�”}”(hjwvh]”hŒtipc_crypto_key_pick_tx”…”�”}”(hj™vh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj•vubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj6vh²hh³jGvh´Mubj)�”}”(hŒP(struct tipc_crypto *tx, struct tipc_crypto *rx, struct sk_buff *skb, u8 tx_key)”h]”(j%)�”}”(hŒstruct tipc_crypto *tx”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj´vh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj°vubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁvh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj°vubh)�”}”(hhh]”j^)�”}”(hŒ tipc_crypto”h]”hŒ tipc_crypto”…”�”}”(hjÒvh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÏvubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÔvŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”juvŒc.tipc_crypto_key_pick_tx”†”asbuh1hhj°vubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðvh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj°vubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjþvh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj°vubj^)�”}”(hŒtx”h]”hŒtx”…”�”}”(hj wh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj°vubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¬vubj%)�”}”(hŒstruct tipc_crypto *rx”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj$wh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj wubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1wh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj wubh)�”}”(hhh]”j^)�”}”(hŒ tipc_crypto”h]”hŒ tipc_crypto”…”�”}”(hjBwh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj?wubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jDwŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”juvŒc.tipc_crypto_key_pick_tx”†”asbuh1hhj wubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`wh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj wubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjnwh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj wubj^)�”}”(hŒrx”h]”hŒrx”…”�”}”(hj{wh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj wubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¬vubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj”wh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj�wubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡wh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj�wubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj²wh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¯wubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j´wŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”juvŒc.tipc_crypto_key_pick_tx”†”asbuh1hhj�wubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐwh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj�wubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÞwh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj�wubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjëwh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�wubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¬vubj%)�”}”(hŒ u8 tx_key”h]”(h)�”}”(hhh]”j^)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjxubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j xŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”juvŒc.tipc_crypto_key_pick_tx”†”asbuh1hhjxubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%xh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjxubj^)�”}”(hŒtx_key”h]”hŒtx_key”…”�”}”(hj3xh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjxubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¬vubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj6vh²hh³jGvh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj2vh²hh³jGvh´Mubah}”(h]”j-vah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jGvh´Mhj/vh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ&Pick one TX key for message decryption”h]”hŒ&Pick one TX key for message decryption”…”�”}”(hj]xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MhjZxh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj/vh²hh³jGvh´Mubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬juxj­juxj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hXø**Parameters** ``struct tipc_crypto *tx`` TX crypto handle ``struct tipc_crypto *rx`` RX crypto handle (can be NULL) ``struct sk_buff *skb`` the message skb which will be decrypted later ``u8 tx_key`` peer TX key id **Description** This function looks up the existing TX keys and pick one which is suitable for the message decryption, that must be a cluster key and not used before on the same message (i.e. recursive). **Return** the TX AEAD key handle in case of success, otherwise NULL”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjxh]”hŒ Parameters”…”�”}”(hj�xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj}xubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhjyxubj)�”}”(hhh]”(j)�”}”(hŒ,``struct tipc_crypto *tx`` TX crypto handle ”h]”(j )�”}”(hŒ``struct tipc_crypto *tx``”h]”j)�”}”(hjžxh]”hŒstruct tipc_crypto *tx”…”�”}”(hj xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjœxubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhj˜xubj')�”}”(hhh]”hï)�”}”(hŒTX crypto handle”h]”hŒTX crypto handle”…”�”}”(hj·xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j³xh´Mhj´xubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj˜xubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j³xh´Mhj•xubj)�”}”(hŒ:``struct tipc_crypto *rx`` RX crypto handle (can be NULL) ”h]”(j )�”}”(hŒ``struct tipc_crypto *rx``”h]”j)�”}”(hj×xh]”hŒstruct tipc_crypto *rx”…”�”}”(hjÙxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÕxubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MhjÑxubj')�”}”(hhh]”hï)�”}”(hŒRX crypto handle (can be NULL)”h]”hŒRX crypto handle (can be NULL)”…”�”}”(hjðxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jìxh´Mhjíxubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÑxubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jìxh´Mhj•xubj)�”}”(hŒF``struct sk_buff *skb`` the message skb which will be decrypted later ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjyh]”hŒstruct sk_buff *skb”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjyubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhj yubj')�”}”(hhh]”hï)�”}”(hŒ-the message skb which will be decrypted later”h]”hŒ-the message skb which will be decrypted later”…”�”}”(hj)yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j%yh´Mhj&yubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj yubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j%yh´Mhj•xubj)�”}”(hŒ``u8 tx_key`` peer TX key id ”h]”(j )�”}”(hŒ ``u8 tx_key``”h]”j)�”}”(hjIyh]”hŒ u8 tx_key”…”�”}”(hjKyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjGyubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MhjCyubj')�”}”(hhh]”hï)�”}”(hŒpeer TX key id”h]”hŒpeer TX key id”…”�”}”(hjbyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j^yh´Mhj_yubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjCyubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j^yh´Mhj•xubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjyxubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj„yh]”hŒ Description”…”�”}”(hj†yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj‚yubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhjyxubhï)�”}”(hŒ»This function looks up the existing TX keys and pick one which is suitable for the message decryption, that must be a cluster key and not used before on the same message (i.e. recursive).”h]”hŒ»This function looks up the existing TX keys and pick one which is suitable for the message decryption, that must be a cluster key and not used before on the same message (i.e. recursive).”…”�”}”(hjšyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhjyxubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj«yh]”hŒReturn”…”�”}”(hj­yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj©yubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhjyxubhï)�”}”(hŒ9the TX AEAD key handle in case of success, otherwise NULL”h]”hŒ9the TX AEAD key handle in case of success, otherwise NULL”…”�”}”(hjÁyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhjyxubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ"tipc_crypto_key_synch (C function)”Œc.tipc_crypto_key_synch”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒHvoid tipc_crypto_key_synch (struct tipc_crypto *rx, struct sk_buff *skb)”h]”j/)�”}”(hŒGvoid tipc_crypto_key_synch(struct tipc_crypto *rx, struct sk_buff *skb)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjðyh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjìyh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MZubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿyh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjìyh²hh³jþyh´MZubjX)�”}”(hŒtipc_crypto_key_synch”h]”j^)�”}”(hŒtipc_crypto_key_synch”h]”hŒtipc_crypto_key_synch”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj zubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjìyh²hh³jþyh´MZubj)�”}”(hŒ-(struct tipc_crypto *rx, struct sk_buff *skb)”h]”(j%)�”}”(hŒstruct tipc_crypto *rx”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj-zh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj)zubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:zh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj)zubh)�”}”(hhh]”j^)�”}”(hŒ tipc_crypto”h]”hŒ tipc_crypto”…”�”}”(hjKzh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjHzubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jMzŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjzsbŒc.tipc_crypto_key_synch”†”asbuh1hhj)zubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkzh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj)zubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjyzh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj)zubj^)�”}”(hŒrx”h]”hŒrx”…”�”}”(hj†zh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj)zubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj%zubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjŸzh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj›zubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬zh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj›zubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj½zh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjºzubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¿zŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jgzŒc.tipc_crypto_key_synch”†”asbuh1hhj›zubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛzh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj›zubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjézh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj›zubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjözh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj›zubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj%zubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjìyh²hh³jþyh´MZubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjèyh²hh³jþyh´MZubah}”(h]”jãyah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jþyh´MZhjåyh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ/Synch own key data according to peer key status”h]”hŒ/Synch own key data according to peer key status”…”�”}”(hj {h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MZhj{h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjåyh²hh³jþyh´MZubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j8{j­j8{j®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hXó**Parameters** ``struct tipc_crypto *rx`` RX crypto handle ``struct sk_buff *skb`` TIPCv2 message buffer (incl. the ehdr from peer) **Description** This function updates the peer node related data as the peer RX active key has changed, so the number of TX keys' users on this node are increased and decreased correspondingly. It also considers if peer has no key, then we need to make own master key (if any) taking over i.e. starting grace period and also trigger key distributing process.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjB{h]”hŒ Parameters”…”�”}”(hjD{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj@{ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M^hj<{ubj)�”}”(hhh]”(j)�”}”(hŒ,``struct tipc_crypto *rx`` RX crypto handle ”h]”(j )�”}”(hŒ``struct tipc_crypto *rx``”h]”j)�”}”(hja{h]”hŒstruct tipc_crypto *rx”…”�”}”(hjc{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj_{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M[hj[{ubj')�”}”(hhh]”hï)�”}”(hŒRX crypto handle”h]”hŒRX crypto handle”…”�”}”(hjz{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jv{h´M[hjw{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj[{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jv{h´M[hjX{ubj)�”}”(hŒI``struct sk_buff *skb`` TIPCv2 message buffer (incl. the ehdr from peer) ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjš{h]”hŒstruct sk_buff *skb”…”�”}”(hjœ{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj˜{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M\hj”{ubj')�”}”(hhh]”hï)�”}”(hŒ0TIPCv2 message buffer (incl. the ehdr from peer)”h]”hŒ0TIPCv2 message buffer (incl. the ehdr from peer)”…”�”}”(hj³{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¯{h´M\hj°{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj”{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¯{h´M\hjX{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj<{ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjÕ{h]”hŒ Description”…”�”}”(hj×{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÓ{ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M^hj<{ubhï)�”}”(hŒ±This function updates the peer node related data as the peer RX active key has changed, so the number of TX keys' users on this node are increased and decreased correspondingly.”h]”hŒ³This function updates the peer node related data as the peer RX active key has changed, so the number of TX keys’ users on this node are increased and decreased correspondingly.”…”�”}”(hjë{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M]hj<{ubhï)�”}”(hŒ¤It also considers if peer has no key, then we need to make own master key (if any) taking over i.e. starting grace period and also trigger key distributing process.”h]”hŒ¤It also considers if peer has no key, then we need to make own master key (if any) taking over i.e. starting grace period and also trigger key distributing process.”…”�”}”(hjú{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mahj<{ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_crypto_xmit (C function)”Œc.tipc_crypto_xmit”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ‹int tipc_crypto_xmit (struct net *net, struct sk_buff **skb, struct tipc_bearer *b, struct tipc_media_addr *dst, struct tipc_node *__dnode)”h]”j/)�”}”(hŒŠint tipc_crypto_xmit(struct net *net, struct sk_buff **skb, struct tipc_bearer *b, struct tipc_media_addr *dst, struct tipc_node *__dnode)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj)|h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj%|h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MyubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8|h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj%|h²hh³j7|h´MyubjX)�”}”(hŒtipc_crypto_xmit”h]”j^)�”}”(hŒtipc_crypto_xmit”h]”hŒtipc_crypto_xmit”…”�”}”(hjJ|h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjF|ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj%|h²hh³j7|h´Myubj)�”}”(hŒv(struct net *net, struct sk_buff **skb, struct tipc_bearer *b, struct tipc_media_addr *dst, struct tipc_node *__dnode)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjf|h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjb|ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs|h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjb|ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj„|h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�|ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j†|Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjL|sbŒc.tipc_crypto_xmit”†”asbuh1hhjb|ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤|h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjb|ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj²|h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjb|ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj¿|h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjb|ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj^|ubj%)�”}”(hŒstruct sk_buff **skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjØ|h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÔ|ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjå|h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÔ|ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjö|h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjó|ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jø|Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j |Œc.tipc_crypto_xmit”†”asbuh1hhjÔ|ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÔ|ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj"}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÔ|ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj/}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÔ|ubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj<}h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÔ|ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj^|ubj%)�”}”(hŒstruct tipc_bearer *b”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjU}h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjQ}ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjb}h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjQ}ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hjs}h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjp}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”ju}Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j |Œc.tipc_crypto_xmit”†”asbuh1hhjQ}ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘}h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjQ}ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjŸ}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjQ}ubj^)�”}”(hj•,h]”hŒb”…”�”}”(hj¬}h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjQ}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj^|ubj%)�”}”(hŒstruct tipc_media_addr *dst”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÄ}h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÀ}ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑ}h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÀ}ubh)�”}”(hhh]”j^)�”}”(hŒtipc_media_addr”h]”hŒtipc_media_addr”…”�”}”(hjâ}h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjß}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jä}Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j |Œc.tipc_crypto_xmit”†”asbuh1hhjÀ}ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÀ}ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÀ}ubj^)�”}”(hŒdst”h]”hŒdst”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÀ}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj^|ubj%)�”}”(hŒstruct tipc_node *__dnode”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj4~h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj0~ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjA~h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj0~ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_node”h]”hŒ tipc_node”…”�”}”(hjR~h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjO~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jT~Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j |Œc.tipc_crypto_xmit”†”asbuh1hhj0~ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjp~h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj0~ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj~~h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj0~ubj^)�”}”(hŒ__dnode”h]”hŒ__dnode”…”�”}”(hj‹~h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj0~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj^|ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj%|h²hh³j7|h´Myubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj!|h²hh³j7|h´Myubah}”(h]”j|ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j7|h´Myhj|h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ%Build & encrypt TIPC message for xmit”h]”hŒ%Build & encrypt TIPC message for xmit”…”�”}”(hjµ~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Myhj²~h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj|h²hh³j7|h´Myubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÍ~j­jÍ~j®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hX**Parameters** ``struct net *net`` struct net ``struct sk_buff **skb`` input/output message skb pointer ``struct tipc_bearer *b`` bearer used for xmit later ``struct tipc_media_addr *dst`` destination media address ``struct tipc_node *__dnode`` destination node for reference if any **Description** First, build an encryption message header on the top of the message, then encrypt the original TIPC message by using the pending, master or active key with this preference order. If the encryption is successful, the encrypted skb is returned directly or via the callback. Otherwise, the skb is freed! **Return** * 0 : the encryption has succeeded (or no encryption) * -EINPROGRESS/-EBUSY : the encryption is ongoing, a callback will be made * -ENOKEK : the encryption has failed due to no key * -EKEYREVOKED : the encryption has failed due to key revoked * -ENOMEM : the encryption has failed due to no memory * < 0 : the encryption has failed due to other reasons”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj×~h]”hŒ Parameters”…”�”}”(hjÙ~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÕ~ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M}hjÑ~ubj)�”}”(hhh]”(j)�”}”(hŒ``struct net *net`` struct net ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjö~h]”hŒstruct net *net”…”�”}”(hjø~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjô~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mzhjð~ubj')�”}”(hhh]”hï)�”}”(hŒ struct net”h]”hŒ struct net”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j h´Mzhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjð~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j h´Mzhjí~ubj)�”}”(hŒ:``struct sk_buff **skb`` input/output message skb pointer ”h]”(j )�”}”(hŒ``struct sk_buff **skb``”h]”j)�”}”(hj/h]”hŒstruct sk_buff **skb”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M{hj)ubj')�”}”(hhh]”hï)�”}”(hŒ input/output message skb pointer”h]”hŒ input/output message skb pointer”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jDh´M{hjEubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jDh´M{hjí~ubj)�”}”(hŒ5``struct tipc_bearer *b`` bearer used for xmit later ”h]”(j )�”}”(hŒ``struct tipc_bearer *b``”h]”j)�”}”(hjhh]”hŒstruct tipc_bearer *b”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjfubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M|hjbubj')�”}”(hhh]”hï)�”}”(hŒbearer used for xmit later”h]”hŒbearer used for xmit later”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j}h´M|hj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjbubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j}h´M|hjí~ubj)�”}”(hŒ:``struct tipc_media_addr *dst`` destination media address ”h]”(j )�”}”(hŒ``struct tipc_media_addr *dst``”h]”j)�”}”(hj¡h]”hŒstruct tipc_media_addr *dst”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M}hj›ubj')�”}”(hhh]”hï)�”}”(hŒdestination media address”h]”hŒdestination media address”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¶h´M}hj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¶h´M}hjí~ubj)�”}”(hŒD``struct tipc_node *__dnode`` destination node for reference if any ”h]”(j )�”}”(hŒ``struct tipc_node *__dnode``”h]”j)�”}”(hjÚh]”hŒstruct tipc_node *__dnode”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjØubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M~hjÔubj')�”}”(hhh]”hï)�”}”(hŒ%destination node for reference if any”h]”hŒ%destination node for reference if any”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jïh´M~hjðubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jïh´M~hjí~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÑ~ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj€h]”hŒ Description”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M€hjÑ~ubhï)�”}”(hX,First, build an encryption message header on the top of the message, then encrypt the original TIPC message by using the pending, master or active key with this preference order. If the encryption is successful, the encrypted skb is returned directly or via the callback. Otherwise, the skb is freed!”h]”hX,First, build an encryption message header on the top of the message, then encrypt the original TIPC message by using the pending, master or active key with this preference order. If the encryption is successful, the encrypted skb is returned directly or via the callback. Otherwise, the skb is freed!”…”�”}”(hj+€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”•£h´MhjÑ~ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj<€h]”hŒReturn”…”�”}”(hj>€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj:€ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M†hjÑ~ubj)�”}”(hhh]”(j)�”}”(hŒE0 : the encryption has succeeded (or no encryption)”h]”hï)�”}”(hjW€h]”hŒE0 : the encryption has succeeded (or no encryption)”…”�”}”(hjY€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M‡hjU€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjR€ubj)�”}”(hŒH-EINPROGRESS/-EBUSY : the encryption is ongoing, a callback will be made”h]”hï)�”}”(hjo€h]”hŒH-EINPROGRESS/-EBUSY : the encryption is ongoing, a callback will be made”…”�”}”(hjq€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mˆhjm€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjR€ubj)�”}”(hŒ=-ENOKEK : the encryption has failed due to no key”h]”hŒ option_list”“”)�”}”(hhh]”hŒoption_list_item”“”)�”}”(hhh]”(hŒ option_group”“”)�”}”(hhh]”hŒoption”“”)�”}”(hŒ-ENOKEK”h]”(hŒ option_string”“”)�”}”(hŒ-E”h]”hŒ-E”…”�”}”hj €sbah}”(h]”h ]”h"]”h$]”h&]”uh1jž€hjš€ubhŒoption_argument”“”)�”}”(hŒNOKEK”h]”hŒNOKEK”…”�”}”(hj°€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œ delimiter”huh1j®€hjš€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j˜€hj•€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j“€hj�€ubhŒ description”“”)�”}”(hŒ): the encryption has failed due to no key”h]”hï)�”}”(hjÏ€h]”hŒ): the encryption has failed due to no key”…”�”}”(hjÑ€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M‰hjÍ€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jË€hj�€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŽ€hj‹€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰€h³jÞ€h´M‰hj…€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjR€ubj)�”}”(hŒB-EKEYREVOKED : the encryption has failed due to key revoked”h]”jŠ€)�”}”(hhh]”j�€)�”}”(hhh]”(j”€)�”}”(hhh]”j™€)�”}”(hŒ -EKEYREVOKED”h]”(jŸ€)�”}”(hŒ-E”h]”hŒ-E”…”�”}”hj�sbah}”(h]”h ]”h"]”h$]”h&]”uh1jž€hj�ubj¯€)�”}”(hŒ KEYREVOKED”h]”hŒ KEYREVOKED”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œ delimiter”huh1j®€hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j˜€hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j“€hjþ€ubjÌ€)�”}”(hŒ.: the encryption has failed due to key revoked”h]”hï)�”}”(hj3�h]”hŒ.: the encryption has failed due to key revoked”…”�”}”(hj5�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MŠhj1�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jË€hjþ€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŽ€hjû€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰€h³jB�h´MŠhj÷€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjR€ubj)�”}”(hŒ@-ENOMEM : the encryption has failed due to no memory”h]”jŠ€)�”}”(hhh]”j�€)�”}”(hhh]”(j”€)�”}”(hhh]”j™€)�”}”(hŒ-ENOMEM”h]”(jŸ€)�”}”(hŒ-E”h]”hŒ-E”…”�”}”hjl�sbah}”(h]”h ]”h"]”h$]”h&]”uh1jž€hjh�ubj¯€)�”}”(hŒNOMEM”h]”hŒNOMEM”…”�”}”(hjz�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œ delimiter”huh1j®€hjh�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j˜€hje�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j“€hjb�ubjÌ€)�”}”(hŒ,: the encryption has failed due to no memory”h]”hï)�”}”(hj—�h]”hŒ,: the encryption has failed due to no memory”…”�”}”(hj™�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M‹hj•�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jË€hjb�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŽ€hj_�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰€h³j¦�h´M‹hj[�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjR€ubj)�”}”(hŒD< 0 : the encryption has failed due to other reasons”h]”hï)�”}”(hjÁ�h]”hŒD< 0 : the encryption has failed due to other reasons”…”�”}”(hjÃ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MŒhj¿�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjR€ubeh}”(h]”h ]”h"]”h$]”h&]”jìjúuh1jh³jf€h´M‡hjÑ~ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_crypto_rcv (C function)”Œc.tipc_crypto_rcv”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒjint tipc_crypto_rcv (struct net *net, struct tipc_crypto *rx, struct sk_buff **skb, struct tipc_bearer *b)”h]”j/)�”}”(hŒiint tipc_crypto_rcv(struct net *net, struct tipc_crypto *rx, struct sk_buff **skb, struct tipc_bearer *b)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjý�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjù�h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M÷ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ‚h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjù�h²hh³j ‚h´M÷ubjX)�”}”(hŒtipc_crypto_rcv”h]”j^)�”}”(hŒtipc_crypto_rcv”h]”hŒtipc_crypto_rcv”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‚ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjù�h²hh³j ‚h´M÷ubj)�”}”(hŒV(struct net *net, struct tipc_crypto *rx, struct sk_buff **skb, struct tipc_bearer *b)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj:‚h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj6‚ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG‚h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6‚ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjX‚h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjU‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jZ‚Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj ‚sbŒc.tipc_crypto_rcv”†”asbuh1hhj6‚ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx‚h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6‚ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj†‚h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj6‚ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj“‚h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj6‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj2‚ubj%)�”}”(hŒstruct tipc_crypto *rx”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¬‚h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj¨‚ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹‚h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¨‚ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_crypto”h]”hŒ tipc_crypto”…”�”}”(hjÊ‚h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÇ‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÌ‚Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jt‚Œc.tipc_crypto_rcv”†”asbuh1hhj¨‚ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjè‚h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¨‚ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjö‚h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¨‚ubj^)�”}”(hŒrx”h]”hŒrx”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¨‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj2‚ubj%)�”}”(hŒstruct sk_buff **skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjƒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)ƒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjƒubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj:ƒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj7ƒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j<ƒŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jt‚Œc.tipc_crypto_rcv”†”asbuh1hhjƒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXƒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjƒubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjfƒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjƒubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjsƒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjƒubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj€ƒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjƒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj2‚ubj%)�”}”(hŒstruct tipc_bearer *b”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj™ƒh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj•ƒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦ƒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj•ƒubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hj·ƒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj´ƒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¹ƒŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jt‚Œc.tipc_crypto_rcv”†”asbuh1hhj•ƒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕƒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj•ƒubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjãƒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj•ƒubj^)�”}”(hj•,h]”hŒb”…”�”}”(hjðƒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj•ƒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj2‚ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjù�h²hh³j ‚h´M÷ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjõ�h²hh³j ‚h´M÷ubah}”(h]”jð�ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j ‚h´M÷hjò�h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ+Decrypt an encrypted TIPC message from peer”h]”hŒ+Decrypt an encrypted TIPC message from peer”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M÷hj„h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjò�h²hh³j ‚h´M÷ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j1„j­j1„j®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hX**Parameters** ``struct net *net`` struct net ``struct tipc_crypto *rx`` RX crypto handle ``struct sk_buff **skb`` input/output message skb pointer ``struct tipc_bearer *b`` bearer where the message has been received **Description** If the decryption is successful, the decrypted skb is returned directly or as the callback, the encryption header and auth tag will be trimmed out before forwarding to tipc_rcv() via the tipc_crypto_rcv_complete(). Otherwise, the skb will be freed! **Note** RX key(s) can be re-aligned, or in case of no key suitable, TX cluster key(s) can be taken for decryption (- recursive). **Return** * 0 : the decryption has successfully completed * -EINPROGRESS/-EBUSY : the decryption is ongoing, a callback will be made * -ENOKEY : the decryption has failed due to no key * -EBADMSG : the decryption has failed due to bad message * -ENOMEM : the decryption has failed due to no memory * < 0 : the decryption has failed due to other reasons”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj;„h]”hŒ Parameters”…”�”}”(hj=„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj9„ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mûhj5„ubj)�”}”(hhh]”(j)�”}”(hŒ``struct net *net`` struct net ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjZ„h]”hŒstruct net *net”…”�”}”(hj\„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjX„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MøhjT„ubj')�”}”(hhh]”hï)�”}”(hŒ struct net”h]”hŒ struct net”…”�”}”(hjs„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jo„h´Møhjp„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjT„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jo„h´MøhjQ„ubj)�”}”(hŒ,``struct tipc_crypto *rx`` RX crypto handle ”h]”(j )�”}”(hŒ``struct tipc_crypto *rx``”h]”j)�”}”(hj“„h]”hŒstruct tipc_crypto *rx”…”�”}”(hj•„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mùhj�„ubj')�”}”(hhh]”hï)�”}”(hŒRX crypto handle”h]”hŒRX crypto handle”…”�”}”(hj¬„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¨„h´Mùhj©„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¨„h´MùhjQ„ubj)�”}”(hŒ:``struct sk_buff **skb`` input/output message skb pointer ”h]”(j )�”}”(hŒ``struct sk_buff **skb``”h]”j)�”}”(hjÌ„h]”hŒstruct sk_buff **skb”…”�”}”(hj΄h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊ„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MúhjÆ„ubj')�”}”(hhh]”hï)�”}”(hŒ input/output message skb pointer”h]”hŒ input/output message skb pointer”…”�”}”(hjå„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³já„h´Múhjâ„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÆ„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³já„h´MúhjQ„ubj)�”}”(hŒE``struct tipc_bearer *b`` bearer where the message has been received ”h]”(j )�”}”(hŒ``struct tipc_bearer *b``”h]”j)�”}”(hj…h]”hŒstruct tipc_bearer *b”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mûhjÿ„ubj')�”}”(hhh]”hï)�”}”(hŒ*bearer where the message has been received”h]”hŒ*bearer where the message has been received”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j…h´Mûhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÿ„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j…h´MûhjQ„ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj5„ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj@…h]”hŒ Description”…”�”}”(hjB…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj>…ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mýhj5„ubhï)�”}”(hŒøIf the decryption is successful, the decrypted skb is returned directly or as the callback, the encryption header and auth tag will be trimmed out before forwarding to tipc_rcv() via the tipc_crypto_rcv_complete(). Otherwise, the skb will be freed!”h]”hŒøIf the decryption is successful, the decrypted skb is returned directly or as the callback, the encryption header and auth tag will be trimmed out before forwarding to tipc_rcv() via the tipc_crypto_rcv_complete(). Otherwise, the skb will be freed!”…”�”}”(hjV…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mühj5„ubhï)�”}”(hŒ**Note**”h]”j¼)�”}”(hjg…h]”hŒNote”…”�”}”(hji…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hje…ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhj5„ubhï)�”}”(hŒxRX key(s) can be re-aligned, or in case of no key suitable, TX cluster key(s) can be taken for decryption (- recursive).”h]”hŒxRX key(s) can be re-aligned, or in case of no key suitable, TX cluster key(s) can be taken for decryption (- recursive).”…”�”}”(hj}…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhj5„ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjŽ…h]”hŒReturn”…”�”}”(hj�…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjŒ…ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhj5„ubj)�”}”(hhh]”(j)�”}”(hŒ?0 : the decryption has successfully completed”h]”hï)�”}”(hj©…h]”hŒ?0 : the decryption has successfully completed”…”�”}”(hj«…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhj§…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤…ubj)�”}”(hŒH-EINPROGRESS/-EBUSY : the decryption is ongoing, a callback will be made”h]”hï)�”}”(hjÁ…h]”hŒH-EINPROGRESS/-EBUSY : the decryption is ongoing, a callback will be made”…”�”}”(hjÃ…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhj¿…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤…ubj)�”}”(hŒ=-ENOKEY : the decryption has failed due to no key”h]”jŠ€)�”}”(hhh]”j�€)�”}”(hhh]”(j”€)�”}”(hhh]”j™€)�”}”(hŒ-ENOKEY”h]”(jŸ€)�”}”(hŒ-E”h]”hŒ-E”…”�”}”hjè…sbah}”(h]”h ]”h"]”h$]”h&]”uh1jž€hjä…ubj¯€)�”}”(hŒNOKEY”h]”hŒNOKEY”…”�”}”(hjö…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œ delimiter”huh1j®€hjä…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j˜€hjá…ubah}”(h]”h ]”h"]”h$]”h&]”uh1j“€hjÞ…ubjÌ€)�”}”(hŒ): the decryption has failed due to no key”h]”hï)�”}”(hj†h]”hŒ): the decryption has failed due to no key”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jË€hjÞ…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŽ€hjÛ…ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰€h³j"†h´Mhj×…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤…ubj)�”}”(hŒB-EBADMSG : the decryption has failed due to bad message”h]”jŠ€)�”}”(hhh]”j�€)�”}”(hhh]”(j”€)�”}”(hhh]”j™€)�”}”(hŒ-EBADMSG”h]”(jŸ€)�”}”(hŒ-E”h]”hŒ-E”…”�”}”hjL†sbah}”(h]”h ]”h"]”h$]”h&]”uh1jž€hjH†ubj¯€)�”}”(hŒBADMSG”h]”hŒBADMSG”…”�”}”(hjZ†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œ delimiter”huh1j®€hjH†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j˜€hjE†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j“€hjB†ubjÌ€)�”}”(hŒ.: the decryption has failed due to bad message”h]”hï)�”}”(hjw†h]”hŒ.: the decryption has failed due to bad message”…”�”}”(hjy†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhju†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jË€hjB†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŽ€hj?†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰€h³j††h´Mhj;†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤…ubj)�”}”(hŒ@-ENOMEM : the decryption has failed due to no memory”h]”jŠ€)�”}”(hhh]”j�€)�”}”(hhh]”(j”€)�”}”(hhh]”j™€)�”}”(hŒ-ENOMEM”h]”(jŸ€)�”}”(hŒ-E”h]”hŒ-E”…”�”}”hj°†sbah}”(h]”h ]”h"]”h$]”h&]”uh1jž€hj¬†ubj¯€)�”}”(hŒNOMEM”h]”hŒNOMEM”…”�”}”(hj¾†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œ delimiter”huh1j®€hj¬†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j˜€hj©†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j“€hj¦†ubjÌ€)�”}”(hŒ,: the decryption has failed due to no memory”h]”hï)�”}”(hjÛ†h]”hŒ,: the decryption has failed due to no memory”…”�”}”(hj݆h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MhjÙ†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jË€hj¦†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŽ€hj£†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰€h³jê†h´MhjŸ†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤…ubj)�”}”(hŒD< 0 : the decryption has failed due to other reasons”h]”hï)�”}”(hj‡h]”hŒD< 0 : the decryption has failed due to other reasons”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤…ubeh}”(h]”h ]”h"]”h$]”h&]”jìjúuh1jh³j¸…h´Mhj5„ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_crypto_msg_rcv (C function)”Œc.tipc_crypto_msg_rcv”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ?void tipc_crypto_msg_rcv (struct net *net, struct sk_buff *skb)”h]”j/)�”}”(hŒ>void tipc_crypto_msg_rcv(struct net *net, struct sk_buff *skb)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjA‡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj=‡h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MfubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjP‡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj=‡h²hh³jO‡h´MfubjX)�”}”(hŒtipc_crypto_msg_rcv”h]”j^)�”}”(hŒtipc_crypto_msg_rcv”h]”hŒtipc_crypto_msg_rcv”…”�”}”(hjb‡h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj^‡ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj=‡h²hh³jO‡h´Mfubj)�”}”(hŒ&(struct net *net, struct sk_buff *skb)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj~‡h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjz‡ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹‡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjz‡ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjœ‡h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj™‡ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jž‡Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjd‡sbŒc.tipc_crypto_msg_rcv”†”asbuh1hhjz‡ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼‡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjz‡ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjʇh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjz‡ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjׇh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjz‡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjv‡ubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjð‡h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjì‡ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjý‡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjì‡ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ˆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jˆŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¸‡Œc.tipc_crypto_msg_rcv”†”asbuh1hhjì‡ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,ˆh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjì‡ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj:ˆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjì‡ubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjGˆh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjì‡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjv‡ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj=‡h²hh³jO‡h´Mfubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj9‡h²hh³jO‡h´Mfubah}”(h]”j4‡ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jO‡h´Mfhj6‡h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ$Common 'MSG_CRYPTO' processing point”h]”hŒ(Common ‘MSG_CRYPTO’ processing point”…”�”}”(hjqˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mfhjnˆh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj6‡h²hh³jO‡h´Mfubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j‰ˆj­j‰ˆj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hŒl**Parameters** ``struct net *net`` the struct net ``struct sk_buff *skb`` the receiving message buffer”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj“ˆh]”hŒ Parameters”…”�”}”(hj•ˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj‘ˆubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mjhj�ˆubj)�”}”(hhh]”(j)�”}”(hŒ#``struct net *net`` the struct net ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj²ˆh]”hŒstruct net *net”…”�”}”(hj´ˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj°ˆubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mghj¬ˆubj')�”}”(hhh]”hï)�”}”(hŒthe struct net”h]”hŒthe struct net”…”�”}”(hjˈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jLjh´MghjȈubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¬ˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jLjh´Mghj©ˆubj)�”}”(hŒ4``struct sk_buff *skb`` the receiving message buffer”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjëˆh]”hŒstruct sk_buff *skb”…”�”}”(hjíˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjéˆubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mihjåˆubj')�”}”(hhh]”hï)�”}”(hŒthe receiving message buffer”h]”hŒthe receiving message buffer”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mhhj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjåˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‰h´Mihj©ˆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj�ˆubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ"tipc_crypto_key_distr (C function)”Œc.tipc_crypto_key_distr”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒRint tipc_crypto_key_distr (struct tipc_crypto *tx, u8 key, struct tipc_node *dest)”h]”j/)�”}”(hŒQint tipc_crypto_key_distr(struct tipc_crypto *tx, u8 key, struct tipc_node *dest)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjE‰h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjA‰h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M‡ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjT‰h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjA‰h²hh³jS‰h´M‡ubjX)�”}”(hŒtipc_crypto_key_distr”h]”j^)�”}”(hŒtipc_crypto_key_distr”h]”hŒtipc_crypto_key_distr”…”�”}”(hjf‰h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjb‰ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjA‰h²hh³jS‰h´M‡ubj)�”}”(hŒ8(struct tipc_crypto *tx, u8 key, struct tipc_node *dest)”h]”(j%)�”}”(hŒstruct tipc_crypto *tx”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj‚‰h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj~‰ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�‰h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj~‰ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_crypto”h]”hŒ tipc_crypto”…”�”}”(hj ‰h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�‰ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¢‰Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjh‰sbŒc.tipc_crypto_key_distr”†”asbuh1hhj~‰ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ‰h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj~‰ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjΉh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj~‰ubj^)�”}”(hŒtx”h]”hŒtx”…”�”}”(hjÛ‰h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj~‰ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjz‰ubj%)�”}”(hŒu8 key”h]”(h)�”}”(hhh]”j^)�”}”(hŒu8”h]”hŒu8”…”�”}”(hj÷‰h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjô‰ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jù‰Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¼‰Œc.tipc_crypto_key_distr”†”asbuh1hhjð‰ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjð‰ubj^)�”}”(hŒkey”h]”hŒkey”…”�”}”(hj#Šh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjð‰ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjz‰ubj%)�”}”(hŒstruct tipc_node *dest”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj<Šh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj8ŠubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjIŠh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj8Šubh)�”}”(hhh]”j^)�”}”(hŒ tipc_node”h]”hŒ tipc_node”…”�”}”(hjZŠh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjWŠubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j\ŠŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¼‰Œc.tipc_crypto_key_distr”†”asbuh1hhj8ŠubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxŠh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj8Šubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj†Šh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj8Šubj^)�”}”(hŒdest”h]”hŒdest”…”�”}”(hj“Šh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj8Šubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjz‰ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjA‰h²hh³jS‰h´M‡ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj=‰h²hh³jS‰h´M‡ubah}”(h]”j8‰ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jS‰h´M‡hj:‰h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒDistribute a TX key”h]”hŒDistribute a TX key”…”�”}”(hj½Šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M‡hjºŠh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj:‰h²hh³jS‰h´M‡ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÕŠj­jÕŠj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hŒæ**Parameters** ``struct tipc_crypto *tx`` the TX crypto ``u8 key`` the key's index ``struct tipc_node *dest`` the destination tipc node, = NULL if distributing to all nodes **Return** 0 in case of success, otherwise < 0”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjߊh]”hŒ Parameters”…”�”}”(hjáŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÝŠubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M‹hjÙŠubj)�”}”(hhh]”(j)�”}”(hŒ)``struct tipc_crypto *tx`` the TX crypto ”h]”(j )�”}”(hŒ``struct tipc_crypto *tx``”h]”j)�”}”(hjþŠh]”hŒstruct tipc_crypto *tx”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjüŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MˆhjøŠubj')�”}”(hhh]”hï)�”}”(hŒ the TX crypto”h]”hŒ the TX crypto”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j‹h´Mˆhj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjøŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‹h´MˆhjõŠubj)�”}”(hŒ``u8 key`` the key's index ”h]”(j )�”}”(hŒ ``u8 key``”h]”j)�”}”(hj7‹h]”hŒu8 key”…”�”}”(hj9‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M‰hj1‹ubj')�”}”(hhh]”hï)�”}”(hŒthe key's index”h]”hŒthe key’s index”…”�”}”(hjP‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jL‹h´M‰hjM‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj1‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jL‹h´M‰hjõŠubj)�”}”(hŒZ``struct tipc_node *dest`` the destination tipc node, = NULL if distributing to all nodes ”h]”(j )�”}”(hŒ``struct tipc_node *dest``”h]”j)�”}”(hjp‹h]”hŒstruct tipc_node *dest”…”�”}”(hjr‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjn‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MŠhjj‹ubj')�”}”(hhh]”hï)�”}”(hŒ>the destination tipc node, = NULL if distributing to all nodes”h]”hŒ>the destination tipc node, = NULL if distributing to all nodes”…”�”}”(hj‰‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j…‹h´MŠhj†‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjj‹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j…‹h´MŠhjõŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÙŠubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj«‹h]”hŒReturn”…”�”}”(hj­‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj©‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MŒhjÙŠubhï)�”}”(hŒ#0 in case of success, otherwise < 0”h]”hŒ#0 in case of success, otherwise < 0”…”�”}”(hjÁ‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MŒhjÙŠubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ!tipc_crypto_key_xmit (C function)”Œc.tipc_crypto_key_xmit”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒcint tipc_crypto_key_xmit (struct net *net, struct tipc_aead_key *skey, u16 gen, u8 mode, u32 dnode)”h]”j/)�”}”(hŒbint tipc_crypto_key_xmit(struct net *net, struct tipc_aead_key *skey, u16 gen, u8 mode, u32 dnode)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjð‹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjì‹h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M¨ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ‹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjì‹h²hh³jþ‹h´M¨ubjX)�”}”(hŒtipc_crypto_key_xmit”h]”j^)�”}”(hŒtipc_crypto_key_xmit”h]”hŒtipc_crypto_key_xmit”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj Œubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjì‹h²hh³jþ‹h´M¨ubj)�”}”(hŒJ(struct net *net, struct tipc_aead_key *skey, u16 gen, u8 mode, u32 dnode)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj-Œh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj)ŒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Œh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj)Œubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjKŒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjHŒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jMŒŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjŒsbŒc.tipc_crypto_key_xmit”†”asbuh1hhj)ŒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkŒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj)Œubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjyŒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj)Œubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj†Œh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj)Œubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj%Œubj%)�”}”(hŒstruct tipc_aead_key *skey”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjŸŒh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj›ŒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬Œh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj›Œubh)�”}”(hhh]”j^)�”}”(hŒ tipc_aead_key”h]”hŒ tipc_aead_key”…”�”}”(hj½Œh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjºŒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¿ŒŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jgŒŒc.tipc_crypto_key_xmit”†”asbuh1hhj›ŒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛŒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj›Œubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjéŒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj›Œubj^)�”}”(hŒskey”h]”hŒskey”…”�”}”(hjöŒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj›Œubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj%Œubj%)�”}”(hŒu16 gen”h]”(h)�”}”(hhh]”j^)�”}”(hŒu16”h]”hŒu16”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j�Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jgŒŒc.tipc_crypto_key_xmit”†”asbuh1hhj �ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj �ubj^)�”}”(hŒgen”h]”hŒgen”…”�”}”(hj>�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj �ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj%Œubj%)�”}”(hŒu8 mode”h]”(h)�”}”(hhh]”j^)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjZ�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjW�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j\�Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jgŒŒc.tipc_crypto_key_xmit”†”asbuh1hhjS�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjx�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjS�ubj^)�”}”(hŒmode”h]”hŒmode”…”�”}”(hj†�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjS�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj%Œubj%)�”}”(hŒ u32 dnode”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj¢�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŸ�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¤�Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jgŒŒc.tipc_crypto_key_xmit”†”asbuh1hhj›�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj›�ubj^)�”}”(hŒdnode”h]”hŒdnode”…”�”}”(hjÎ�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj›�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj%Œubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjì‹h²hh³jþ‹h´M¨ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjè‹h²hh³jþ‹h´M¨ubah}”(h]”jã‹ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jþ‹h´M¨hjå‹h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒSend a session key”h]”hŒSend a session key”…”�”}”(hjø�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M¨hjõ�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjå‹h²hh³jþ‹h´M¨ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jŽj­jŽj®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hXÉ**Parameters** ``struct net *net`` the struct net ``struct tipc_aead_key *skey`` the session key to be sent ``u16 gen`` the key's generation ``u8 mode`` the key's mode ``u32 dnode`` the destination node address, = 0 if broadcasting to all nodes **Description** The session key 'skey' is packed in a TIPC v2 'MSG_CRYPTO/KEY_DISTR_MSG' as its data section, then xmit-ed through the uc/bc link. **Return** 0 in case of success, otherwise < 0”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjŽh]”hŒ Parameters”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M¬hjŽubj)�”}”(hhh]”(j)�”}”(hŒ#``struct net *net`` the struct net ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj9Žh]”hŒstruct net *net”…”�”}”(hj;Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj7Žubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M©hj3Žubj')�”}”(hhh]”hï)�”}”(hŒthe struct net”h]”hŒthe struct net”…”�”}”(hjRŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jNŽh´M©hjOŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj3Žubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jNŽh´M©hj0Žubj)�”}”(hŒ:``struct tipc_aead_key *skey`` the session key to be sent ”h]”(j )�”}”(hŒ``struct tipc_aead_key *skey``”h]”j)�”}”(hjrŽh]”hŒstruct tipc_aead_key *skey”…”�”}”(hjtŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjpŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MªhjlŽubj')�”}”(hhh]”hï)�”}”(hŒthe session key to be sent”h]”hŒthe session key to be sent”…”�”}”(hj‹Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j‡Žh´MªhjˆŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjlŽubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‡Žh´Mªhj0Žubj)�”}”(hŒ!``u16 gen`` the key's generation ”h]”(j )�”}”(hŒ ``u16 gen``”h]”j)�”}”(hj«Žh]”hŒu16 gen”…”�”}”(hj­Žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj©Žubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M«hj¥Žubj')�”}”(hhh]”hï)�”}”(hŒthe key's generation”h]”hŒthe key’s generation”…”�”}”(hjÄŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÀŽh´M«hjÁŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¥Žubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÀŽh´M«hj0Žubj)�”}”(hŒ``u8 mode`` the key's mode ”h]”(j )�”}”(hŒ ``u8 mode``”h]”j)�”}”(hjäŽh]”hŒu8 mode”…”�”}”(hjæŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjâŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M¬hjÞŽubj')�”}”(hhh]”hï)�”}”(hŒthe key's mode”h]”hŒthe key’s mode”…”�”}”(hjýŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jùŽh´M¬hjúŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÞŽubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jùŽh´M¬hj0Žubj)�”}”(hŒM``u32 dnode`` the destination node address, = 0 if broadcasting to all nodes ”h]”(j )�”}”(hŒ ``u32 dnode``”h]”j)�”}”(hj�h]”hŒ u32 dnode”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M­hj�ubj')�”}”(hhh]”hï)�”}”(hŒ>the destination node address, = 0 if broadcasting to all nodes”h]”hŒ>the destination node address, = 0 if broadcasting to all nodes”…”�”}”(hj6�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j2�h´M­hj3�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j2�h´M­hj0Žubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjŽubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjX�h]”hŒ Description”…”�”}”(hjZ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjV�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M¯hjŽubhï)�”}”(hŒ‚The session key 'skey' is packed in a TIPC v2 'MSG_CRYPTO/KEY_DISTR_MSG' as its data section, then xmit-ed through the uc/bc link.”h]”hŒŠThe session key ‘skey’ is packed in a TIPC v2 ‘MSG_CRYPTO/KEY_DISTR_MSG’ as its data section, then xmit-ed through the uc/bc link.”…”�”}”(hjn�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M®hjŽubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj�h]”hŒReturn”…”�”}”(hj��h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj}�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M±hjŽubhï)�”}”(hŒ#0 in case of success, otherwise < 0”h]”hŒ#0 in case of success, otherwise < 0”…”�”}”(hj•�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M²hjŽubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_crypto_key_rcv (C function)”Œc.tipc_crypto_key_rcv”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒGbool tipc_crypto_key_rcv (struct tipc_crypto *rx, struct tipc_msg *hdr)”h]”j/)�”}”(hŒFbool tipc_crypto_key_rcv(struct tipc_crypto *rx, struct tipc_msg *hdr)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjÄ�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÀ�h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÛubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒ�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÀ�h²hh³jÑ�h´MÛubjX)�”}”(hŒtipc_crypto_key_rcv”h]”j^)�”}”(hŒtipc_crypto_key_rcv”h]”hŒtipc_crypto_key_rcv”…”�”}”(hjä�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjà�ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÀ�h²hh³jÑ�h´MÛubj)�”}”(hŒ.(struct tipc_crypto *rx, struct tipc_msg *hdr)”h]”(j%)�”}”(hŒstruct tipc_crypto *rx”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjü�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj �h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjü�ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_crypto”h]”hŒ tipc_crypto”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j �Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjæ�sbŒc.tipc_crypto_key_rcv”†”asbuh1hhjü�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjü�ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjL�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjü�ubj^)�”}”(hŒrx”h]”hŒrx”…”�”}”(hjY�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjü�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjø�ubj%)�”}”(hŒstruct tipc_msg *hdr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjr�h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjn�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjn�ubh)�”}”(hhh]”j^)�”}”(hŒtipc_msg”h]”hŒtipc_msg”…”�”}”(hj��h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj��ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j’�Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j:�Œc.tipc_crypto_key_rcv”†”asbuh1hhjn�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjn�ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¼�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjn�ubj^)�”}”(hŒhdr”h]”hŒhdr”…”�”}”(hjÉ�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjn�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjø�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÀ�h²hh³jÑ�h´MÛubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj¼�h²hh³jÑ�h´MÛubah}”(h]”j·�ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÑ�h´MÛhj¹�h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒReceive a session key”h]”hŒReceive a session key”…”�”}”(hjó�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÛhjð�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¹�h²hh³jÑ�h´MÛubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j ‘j­j ‘j®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hX‰**Parameters** ``struct tipc_crypto *rx`` the RX crypto ``struct tipc_msg *hdr`` the TIPC v2 message incl. the receiving session key in its data **Description** This function retrieves the session key in the message from peer, then schedules a RX work to attach the key to the corresponding RX crypto. **Return** "true" if the key has been scheduled for attaching, otherwise "false".”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj‘h]”hŒ Parameters”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mßhj‘ubj)�”}”(hhh]”(j)�”}”(hŒ)``struct tipc_crypto *rx`` the RX crypto ”h]”(j )�”}”(hŒ``struct tipc_crypto *rx``”h]”j)�”}”(hj4‘h]”hŒstruct tipc_crypto *rx”…”�”}”(hj6‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj2‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÜhj.‘ubj')�”}”(hhh]”hï)�”}”(hŒ the RX crypto”h]”hŒ the RX crypto”…”�”}”(hjM‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jI‘h´MÜhjJ‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj.‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jI‘h´MÜhj+‘ubj)�”}”(hŒY``struct tipc_msg *hdr`` the TIPC v2 message incl. the receiving session key in its data ”h]”(j )�”}”(hŒ``struct tipc_msg *hdr``”h]”j)�”}”(hjm‘h]”hŒstruct tipc_msg *hdr”…”�”}”(hjo‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjk‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÝhjg‘ubj')�”}”(hhh]”hï)�”}”(hŒ?the TIPC v2 message incl. the receiving session key in its data”h]”hŒ?the TIPC v2 message incl. the receiving session key in its data”…”�”}”(hj†‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j‚‘h´MÝhjƒ‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjg‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‚‘h´MÝhj+‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj‘ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj¨‘h]”hŒ Description”…”�”}”(hjª‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¦‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mßhj‘ubhï)�”}”(hŒŒThis function retrieves the session key in the message from peer, then schedules a RX work to attach the key to the corresponding RX crypto.”h]”hŒŒThis function retrieves the session key in the message from peer, then schedules a RX work to attach the key to the corresponding RX crypto.”…”�”}”(hj¾‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´MÞhj‘ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjÏ‘h]”hŒReturn”…”�”}”(hjÑ‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÍ‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Máhj‘ubhï)�”}”(hŒF"true" if the key has been scheduled for attaching, otherwise "false".”h]”hŒN“trueâ€� if the key has been scheduled for attaching, otherwise “falseâ€�.”…”�”}”(hjå‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mâhj‘ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_crypto_work_rx (C function)”Œc.tipc_crypto_work_rx”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ3void tipc_crypto_work_rx (struct work_struct *work)”h]”j/)�”}”(hŒ2void tipc_crypto_work_rx(struct work_struct *work)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj’h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M# ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#’h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj’h²hh³j"’h´M# ubjX)�”}”(hŒtipc_crypto_work_rx”h]”j^)�”}”(hŒtipc_crypto_work_rx”h]”hŒtipc_crypto_work_rx”…”�”}”(hj5’h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj1’ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj’h²hh³j"’h´M# ubj)�”}”(hŒ(struct work_struct *work)”h]”j%)�”}”(hŒstruct work_struct *work”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjQ’h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjM’ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^’h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjM’ubh)�”}”(hhh]”j^)�”}”(hŒ work_struct”h]”hŒ work_struct”…”�”}”(hjo’h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjl’ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jq’Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj7’sbŒc.tipc_crypto_work_rx”†”asbuh1hhjM’ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�’h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjM’ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj�’h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjM’ubj^)�”}”(hŒwork”h]”hŒwork”…”�”}”(hjª’h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjM’ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjI’ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj’h²hh³j"’h´M# ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj ’h²hh³j"’h´M# ubah}”(h]”j’ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j"’h´M# hj ’h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒScheduled RX works handler”h]”hŒScheduled RX works handler”…”�”}”(hjÔ’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M# hjÑ’h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj ’h²hh³j"’h´M# ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jì’j­jì’j®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hŒÒ**Parameters** ``struct work_struct *work`` the struct RX work **Description** The function processes the previous scheduled works i.e. distributing TX key or attaching a received session key on RX crypto.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjö’h]”hŒ Parameters”…”�”}”(hjø’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjô’ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M' hjð’ubj)�”}”(hhh]”j)�”}”(hŒ0``struct work_struct *work`` the struct RX work ”h]”(j )�”}”(hŒ``struct work_struct *work``”h]”j)�”}”(hj“h]”hŒstruct work_struct *work”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M$ hj“ubj')�”}”(hhh]”hï)�”}”(hŒthe struct RX work”h]”hŒthe struct RX work”…”�”}”(hj.“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j*“h´M$ hj+“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j*“h´M$ hj “ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjð’ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjP“h]”hŒ Description”…”�”}”(hjR“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjN“ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M& hjð’ubhï)�”}”(hŒ~The function processes the previous scheduled works i.e. distributing TX key or attaching a received session key on RX crypto.”h]”hŒ~The function processes the previous scheduled works i.e. distributing TX key or attaching a received session key on RX crypto.”…”�”}”(hjf“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M% hjð’ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ'tipc_crypto_rekeying_sched (C function)”Œc.tipc_crypto_rekeying_sched”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒTvoid tipc_crypto_rekeying_sched (struct tipc_crypto *tx, bool changed, u32 new_intv)”h]”j/)�”}”(hŒSvoid tipc_crypto_rekeying_sched(struct tipc_crypto *tx, bool changed, u32 new_intv)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj•“h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‘“h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M` ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¤“h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‘“h²hh³j£“h´M` ubjX)�”}”(hŒtipc_crypto_rekeying_sched”h]”j^)�”}”(hŒtipc_crypto_rekeying_sched”h]”hŒtipc_crypto_rekeying_sched”…”�”}”(hj¶“h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj²“ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj‘“h²hh³j£“h´M` ubj)�”}”(hŒ4(struct tipc_crypto *tx, bool changed, u32 new_intv)”h]”(j%)�”}”(hŒstruct tipc_crypto *tx”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÒ“h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjΓubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjß“h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjΓubh)�”}”(hhh]”j^)�”}”(hŒ tipc_crypto”h]”hŒ tipc_crypto”…”�”}”(hjð“h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjí“ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jò“Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¸“sbŒc.tipc_crypto_rekeying_sched”†”asbuh1hhjΓubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjΓubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjΓubj^)�”}”(hŒtx”h]”hŒtx”…”�”}”(hj+”h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjΓubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÊ“ubj%)�”}”(hŒ bool changed”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjD”h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj@”ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQ”h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj@”ubj^)�”}”(hŒchanged”h]”hŒchanged”…”�”}”(hj_”h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj@”ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÊ“ubj%)�”}”(hŒ u32 new_intv”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj{”h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjx”ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j}”Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j ”Œc.tipc_crypto_rekeying_sched”†”asbuh1hhjt”ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™”h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjt”ubj^)�”}”(hŒnew_intv”h]”hŒnew_intv”…”�”}”(hj§”h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjt”ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÊ“ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj‘“h²hh³j£“h´M` ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj�“h²hh³j£“h´M` ubah}”(h]”jˆ“ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j£“h´M` hjŠ“h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ&(Re)schedule rekeying w/o new interval”h]”hŒ&(Re)schedule rekeying w/o new interval”…”�”}”(hjÑ”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M` hjΔh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjŠ“h²hh³j£“h´M` ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jé”j­jé”j®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hŒÆ**Parameters** ``struct tipc_crypto *tx`` TX crypto ``bool changed`` if the rekeying needs to be rescheduled with new interval ``u32 new_intv`` new rekeying interval (when "changed" = true)”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjó”h]”hŒ Parameters”…”�”}”(hjõ”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjñ”ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Md hjí”ubj)�”}”(hhh]”(j)�”}”(hŒ%``struct tipc_crypto *tx`` TX crypto ”h]”(j )�”}”(hŒ``struct tipc_crypto *tx``”h]”j)�”}”(hj•h]”hŒstruct tipc_crypto *tx”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Ma hj •ubj')�”}”(hhh]”hï)�”}”(hŒ TX crypto”h]”hŒ TX crypto”…”�”}”(hj+•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j'•h´Ma hj(•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj •ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j'•h´Ma hj •ubj)�”}”(hŒK``bool changed`` if the rekeying needs to be rescheduled with new interval ”h]”(j )�”}”(hŒ``bool changed``”h]”j)�”}”(hjK•h]”hŒ bool changed”…”�”}”(hjM•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjI•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mb hjE•ubj')�”}”(hhh]”hï)�”}”(hŒ9if the rekeying needs to be rescheduled with new interval”h]”hŒ9if the rekeying needs to be rescheduled with new interval”…”�”}”(hjd•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j`•h´Mb hja•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjE•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j`•h´Mb hj •ubj)�”}”(hŒ>``u32 new_intv`` new rekeying interval (when "changed" = true)”h]”(j )�”}”(hŒ``u32 new_intv``”h]”j)�”}”(hj„•h]”hŒ u32 new_intv”…”�”}”(hj†•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Md hj~•ubj')�”}”(hhh]”hï)�”}”(hŒ-new rekeying interval (when "changed" = true)”h]”hŒ1new rekeying interval (when “changedâ€� = true)”…”�”}”(hj�•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mc hjš•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj~•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j™•h´Md hj •ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjí”ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_crypto_work_tx (C function)”Œc.tipc_crypto_work_tx”hNt”auh1jhjCh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ3void tipc_crypto_work_tx (struct work_struct *work)”h]”j/)�”}”(hŒ2void tipc_crypto_work_tx(struct work_struct *work)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÞ•h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÚ•h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mz ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjí•h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÚ•h²hh³jì•h´Mz ubjX)�”}”(hŒtipc_crypto_work_tx”h]”j^)�”}”(hŒtipc_crypto_work_tx”h]”hŒtipc_crypto_work_tx”…”�”}”(hjÿ•h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjû•ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÚ•h²hh³jì•h´Mz ubj)�”}”(hŒ(struct work_struct *work)”h]”j%)�”}”(hŒstruct work_struct *work”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj–ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(–h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj–ubh)�”}”(hhh]”j^)�”}”(hŒ work_struct”h]”hŒ work_struct”…”�”}”(hj9–h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj6–ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j;–Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj–sbŒc.tipc_crypto_work_tx”†”asbuh1hhj–ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY–h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj–ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjg–h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj–ubj^)�”}”(hŒwork”h]”hŒwork”…”�”}”(hjt–h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj–ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj–ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÚ•h²hh³jì•h´Mz ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÖ•h²hh³jì•h´Mz ubah}”(h]”jÑ•ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jì•h´Mz hjÓ•h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒScheduled TX works handler”h]”hŒScheduled TX works handler”…”�”}”(hjž–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´Mz hj›–h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÓ•h²hh³jì•h´Mz ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j¶–j­j¶–j®‰j¯‰j°‰uh1j#h²hhjCh³Nh´Nubj²)�”}”(hXF**Parameters** ``struct work_struct *work`` the struct TX work **Description** The function processes the previous scheduled work, i.e. key rekeying, by generating a new session key based on current one, then attaching it to the TX crypto and finally distributing it to peers. It also re-schedules the rekeying if needed.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÀ–h]”hŒ Parameters”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¾–ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M~ hjº–ubj)�”}”(hhh]”j)�”}”(hŒ0``struct work_struct *work`` the struct TX work ”h]”(j )�”}”(hŒ``struct work_struct *work``”h]”j)�”}”(hjß–h]”hŒstruct work_struct *work”…”�”}”(hjá–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝ–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M{ hjÙ–ubj')�”}”(hhh]”hï)�”}”(hŒthe struct TX work”h]”hŒthe struct TX work”…”�”}”(hjø–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jô–h´M{ hjõ–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÙ–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jô–h´M{ hjÖ–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjº–ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj—h]”hŒ Description”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj—ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M} hjº–ubhï)�”}”(hŒòThe function processes the previous scheduled work, i.e. key rekeying, by generating a new session key based on current one, then attaching it to the TX crypto and finally distributing it to peers. It also re-schedules the rekeying if needed.”h]”hŒòThe function processes the previous scheduled work, i.e. key rekeying, by generating a new session key based on current one, then attaching it to the TX crypto and finally distributing it to peers. It also re-schedules the rekeying if needed.”…”�”•}”(hj0—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:157: ./net/tipc/crypto.c”h´M| hjº–ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjCh²hh³Nh´Nubeh}”(h]”Œtipc-crypto-interfaces”ah ]”h"]”Œtipc crypto interfaces”ah$]”h&]”uh1hÈhjâh²hh³hÇh´K›ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTIPC Discoverer Interfaces”h]”hŒTIPC Discoverer Interfaces”…”�”}”(hjQ—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjN—h²hh³hÇh´K¡ubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_discoverer (C struct)”Œc.tipc_discoverer”hNt”auh1jhjN—h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒtipc_discoverer”h]”j/)�”}”(hŒstruct tipc_discoverer”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjx—h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjt—h²hh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†—h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjt—h²hh³j…—h´KubjX)�”}”(hŒtipc_discoverer”h]”j^)�”}”(hjr—h]”hŒtipc_discoverer”…”�”}”(hj˜—h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj”—ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjt—h²hh³j…—h´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjp—h²hh³j…—h´Kubah}”(h]”jk—ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j…—h´Khjm—h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ/information about an ongoing link setup request”h]”hŒ/information about an ongoing link setup request”…”�”}”(hjº—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K3hj·—h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjm—h²hh³j…—h´Kubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬jÒ—j­jÒ—j®‰j¯‰j°‰uh1j#h²hhjN—h³Nh´Nubj²)�”}”(hXe**Definition**:: struct tipc_discoverer { u32 bearer_id; struct tipc_media_addr dest; struct net *net; u32 domain; int num_nodes; spinlock_t lock; struct sk_buff *skb; struct timer_list timer; unsigned long timer_intv; struct rcu_head rcu; }; **Members** ``bearer_id`` identity of bearer issuing requests ``dest`` destination address for request messages ``net`` network namespace instance ``domain`` network domain to which links can be established ``num_nodes`` number of nodes currently discovered (i.e. with an active link) ``lock`` spinlock for controlling access to requests ``skb`` request message to be (repeatedly) sent ``timer`` timer governing period between requests ``timer_intv`` current interval between requests (in ms) ``rcu`` RCU head for deferred freeing”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÞ—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÚ—ubhŒ:”…”�”}”(hjÚ—h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K7hjÖ—ubj×)�”}”(hX struct tipc_discoverer { u32 bearer_id; struct tipc_media_addr dest; struct net *net; u32 domain; int num_nodes; spinlock_t lock; struct sk_buff *skb; struct timer_list timer; unsigned long timer_intv; struct rcu_head rcu; };”h]”hX struct tipc_discoverer { u32 bearer_id; struct tipc_media_addr dest; struct net *net; u32 domain; int num_nodes; spinlock_t lock; struct sk_buff *skb; struct timer_list timer; unsigned long timer_intv; struct rcu_head rcu; };”…”�”}”hj÷—sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K9hjÖ—ubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hj˜h]”hŒMembers”…”�”}”(hj ˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KFhjÖ—ubj)�”}”(hhh]”(j)�”}”(hŒ2``bearer_id`` identity of bearer issuing requests ”h]”(j )�”}”(hŒ ``bearer_id``”h]”j)�”}”(hj'˜h]”hŒ bearer_id”…”�”}”(hj)˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K5hj!˜ubj')�”}”(hhh]”hï)�”}”(hŒ#identity of bearer issuing requests”h]”hŒ#identity of bearer issuing requests”…”�”}”(hj@˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j<˜h´K5hj=˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj!˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j<˜h´K5hj˜ubj)�”}”(hŒ2``dest`` destination address for request messages ”h]”(j )�”}”(hŒ``dest``”h]”j)�”}”(hj`˜h]”hŒdest”…”�”}”(hjb˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K7hjZ˜ubj')�”}”(hhh]”hï)�”}”(hŒ(destination address for request messages”h]”hŒ(destination address for request messages”…”�”}”(hjy˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ju˜h´K7hjv˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjZ˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³ju˜h´K7hj˜ubj)�”}”(hŒ#``net`` network namespace instance ”h]”(j )�”}”(hŒ``net``”h]”j)�”}”(hj™˜h]”hŒnet”…”�”}”(hj›˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj—˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K6hj“˜ubj')�”}”(hhh]”hï)�”}”(hŒnetwork namespace instance”h]”hŒnetwork namespace instance”…”�”}”(hj²˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j®˜h´K6hj¯˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj“˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j®˜h´K6hj˜ubj)�”}”(hŒ<``domain`` network domain to which links can be established ”h]”(j )�”}”(hŒ ``domain``”h]”j)�”}”(hjÒ˜h]”hŒdomain”…”�”}”(hjÔ˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjИubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K8hj̘ubj')�”}”(hhh]”hï)�”}”(hŒ0network domain to which links can be established”h]”hŒ0network domain to which links can be established”…”�”}”(hjë˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jç˜h´K8hjè˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj̘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jç˜h´K8hj˜ubj)�”}”(hŒN``num_nodes`` number of nodes currently discovered (i.e. with an active link) ”h]”(j )�”}”(hŒ ``num_nodes``”h]”j)�”}”(hj ™h]”hŒ num_nodes”…”�”}”(hj ™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K9hj™ubj')�”}”(hhh]”hï)�”}”(hŒ?number of nodes currently discovered (i.e. with an active link)”h]”hŒ?number of nodes currently discovered (i.e. with an active link)”…”�”}”(hj$™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j ™h´K9hj!™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j ™h´K9hj˜ubj)�”}”(hŒ5``lock`` spinlock for controlling access to requests ”h]”(j )�”}”(hŒ``lock``”h]”j)�”}”(hjD™h]”hŒlock”…”�”}”(hjF™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjB™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K:hj>™ubj')�”}”(hhh]”hï)�”}”(hŒ+spinlock for controlling access to requests”h]”hŒ+spinlock for controlling access to requests”…”�”}”(hj]™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jY™h´K:hjZ™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj>™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jY™h´K:hj˜ubj)�”}”(hŒ0``skb`` request message to be (repeatedly) sent ”h]”(j )�”}”(hŒ``skb``”h]”j)�”}”(hj}™h]”hŒskb”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj{™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K;hjw™ubj')�”}”(hhh]”hï)�”}”(hŒ'request message to be (repeatedly) sent”h]”hŒ'request message to be (repeatedly) sent”…”�”}”(hj–™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j’™h´K;hj“™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjw™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j’™h´K;hj˜ubj)�”}”(hŒ2``timer`` timer governing period between requests ”h]”(j )�”}”(hŒ ``timer``”h]”j)�”}”(hj¶™h]”hŒtimer”…”�”}”(hj¸™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj´™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´Khj>šubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj"šubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j=šh´K=hj˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÖ—ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjN—h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_disc_init_msg (C function)”Œc.tipc_disc_init_msg”hNt”auh1jhjN—h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ_void tipc_disc_init_msg (struct net *net, struct sk_buff *skb, u32 mtyp, struct tipc_bearer *b)”h]”j/)�”}”(hŒ^void tipc_disc_init_msg(struct net *net, struct sk_buff *skb, u32 mtyp, struct tipc_bearer *b)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‚šh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj~šh²hh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KMubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘šh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj~šh²hh³j�šh´KMubjX)�”}”(hŒtipc_disc_init_msg”h]”j^)�”}”(hŒtipc_disc_init_msg”h]”hŒtipc_disc_init_msg”…”�”}”(hj£šh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŸšubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj~šh²hh³j�šh´KMubj)�”}”(hŒG(struct net *net, struct sk_buff *skb, u32 mtyp, struct tipc_bearer *b)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¿šh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj»šubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌšh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj»šubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjÝšh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÚšubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jßšŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¥šsbŒc.tipc_disc_init_msg”†”asbuh1hhj»šubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýšh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj»šubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj ›h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj»šubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj»šubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj·šubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj1›h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj-›ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>›h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj-›ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjO›h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjL›ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jQ›Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jùšŒc.tipc_disc_init_msg”†”asbuh1hhj-›ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm›h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj-›ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj{›h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj-›ubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjˆ›h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj-›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj·šubj%)�”}”(hŒu32 mtyp”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj¤›h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¡›ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¦›Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jùšŒc.tipc_disc_init_msg”†”asbuh1hhj�›ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj�›ubj^)�”}”(hŒmtyp”h]”hŒmtyp”…”�”}”(hjЛh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj·šubj%)�”}”(hŒstruct tipc_bearer *b”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjé›h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjå›ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö›h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjå›ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjœubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j œŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jùšŒc.tipc_disc_init_msg”†”asbuh1hhjå›ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%œh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjå›ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj3œh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjå›ubj^)�”}”(hj•,h]”hŒb”…”�”}”(hj@œh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjå›ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj·šubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj~šh²hh³j�šh´KMubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjzšh²hh³j�šh´KMubah}”(h]”jušah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j�šh´KMhjwšh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒinitialize a link setup message”h]”hŒinitialize a link setup message”…”�”}”(hjiœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KMhjfœh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjwšh²hh³j�šh´KMubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j�œj­j�œj®‰j¯‰j°‰uh1j#h²hhjN—h³Nh´Nubj²)�”}”(hŒå**Parameters** ``struct net *net`` the applicable net namespace ``struct sk_buff *skb`` buffer containing message ``u32 mtyp`` message type (request or response) ``struct tipc_bearer *b`` ptr to bearer issuing message”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj‹œh]”hŒ Parameters”…”�”}”(hj�œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj‰œubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KQhj…œubj)�”}”(hhh]”(j)�”}”(hŒ1``struct net *net`` the applicable net namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjªœh]”hŒstruct net *net”…”�”}”(hj¬œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨œubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KNhj¤œubj')�”}”(hhh]”hï)�”}”(hŒthe applicable net namespace”h]”hŒthe applicable net namespace”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¿œh´KNhjÀœubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¤œubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¿œh´KNhj¡œubj)�”}”(hŒ2``struct sk_buff *skb`` buffer containing message ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjãœh]”hŒstruct sk_buff *skb”…”�”}”(hjåœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjáœubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KOhjÝœubj')�”}”(hhh]”hï)�”}”(hŒbuffer containing message”h]”hŒbuffer containing message”…”�”}”(hjüœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jøœh´KOhjùœubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÝœubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jøœh´KOhj¡œubj)�”}”(hŒ0``u32 mtyp`` message type (request or response) ”h]”(j )�”}”(hŒ ``u32 mtyp``”h]”j)�”}”(hj�h]”hŒu32 mtyp”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KPhj�ubj')�”}”(hhh]”hï)�”}”(hŒ"message type (request or response)”h]”hŒ"message type (request or response)”…”�”}”(hj5�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j1�h´KPhj2�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j1�h´KPhj¡œubj)�”}”(hŒ7``struct tipc_bearer *b`` ptr to bearer issuing message”h]”(j )�”}”(hŒ``struct tipc_bearer *b``”h]”j)�”}”(hjU�h]”hŒstruct tipc_bearer *b”…”�”}”(hjW�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjS�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KRhjO�ubj')�”}”(hhh]”hï)�”}”(hŒptr to bearer issuing message”h]”hŒptr to bearer issuing message”…”�”}”(hjn�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KQhjk�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjO�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jj�h´KRhj¡œubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj…œubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjN—h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒdisc_dupl_alert (C function)”Œc.disc_dupl_alert”hNt”auh1jhjN—h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ_void disc_dupl_alert (struct tipc_bearer *b, u32 node_addr, struct tipc_media_addr *media_addr)”h]”j/)�”}”(hŒ^void disc_dupl_alert(struct tipc_bearer *b, u32 node_addr, struct tipc_media_addr *media_addr)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¯�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj«�h²hh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K{ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj«�h²hh³j½�h´K{ubjX)�”}”(hŒdisc_dupl_alert”h]”j^)�”}”(hŒdisc_dupl_alert”h]”hŒdisc_dupl_alert”…”�”}”(hjÐ�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÌ�ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj«�h²hh³j½�h´K{ubj)�”}”(hŒJ(struct tipc_bearer *b, u32 node_addr, struct tipc_media_addr *media_addr)”h]”(j%)�”}”(hŒstruct tipc_bearer *b”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjì�h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjè�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjù�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjè�ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hj žh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjžubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j žŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÒ�sbŒc.disc_dupl_alert”†”asbuh1hhjè�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*žh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjè�ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj8žh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjè�ubj^)�”}”(hj•,h]”hŒb”…”�”}”(hjEžh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjè�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjä�ubj%)�”}”(hŒ u32 node_addr”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj`žh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj]žubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jbžŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j&žŒc.disc_dupl_alert”†”asbuh1hhjYžubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~žh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjYžubj^)�”}”(hŒ node_addr”h]”hŒ node_addr”…”�”}”(hjŒžh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjYžubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjä�ubj%)�”}”(hŒ"struct tipc_media_addr *media_addr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¥žh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj¡žubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²žh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¡žubh)�”}”(hhh]”j^)�”}”(hŒtipc_media_addr”h]”hŒtipc_media_addr”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÀžubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÅžŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j&žŒc.disc_dupl_alert”†”asbuh1hhj¡žubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjážh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¡žubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjïžh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¡žubj^)�”}”(hŒ media_addr”h]”hŒ media_addr”…”�”}”(hjüžh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¡žubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjä�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj«�h²hh³j½�h´K{ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj§�h²hh³j½�h´K{ubah}”(h]”j¢�ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j½�h´K{hj¤�h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ$issue node address duplication alert”h]”hŒ$issue node address duplication alert”…”�”}”(hj&Ÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K{hj#Ÿh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¤�h²hh³j½�h´K{ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j>Ÿj­j>Ÿj®‰j¯‰j°‰uh1j#h²hhjN—h³Nh´Nubj²)�”}”(hŒÖ**Parameters** ``struct tipc_bearer *b`` pointer to bearer detecting duplication ``u32 node_addr`` duplicated node address ``struct tipc_media_addr *media_addr`` media address advertised by duplicated node”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjHŸh]”hŒ Parameters”…”�”}”(hjJŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjFŸubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KhjBŸubj)�”}”(hhh]”(j)�”}”(hŒB``struct tipc_bearer *b`` pointer to bearer detecting duplication ”h]”(j )�”}”(hŒ``struct tipc_bearer *b``”h]”j)�”}”(hjgŸh]”hŒstruct tipc_bearer *b”…”�”}”(hjiŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjeŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K|hjaŸubj')�”}”(hhh]”hï)�”}”(hŒ'pointer to bearer detecting duplication”h]”hŒ'pointer to bearer detecting duplication”…”�”}”(hj€Ÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j|Ÿh´K|hj}Ÿubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjaŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j|Ÿh´K|hj^Ÿubj)�”}”(hŒ*``u32 node_addr`` duplicated node address ”h]”(j )�”}”(hŒ``u32 node_addr``”h]”j)�”}”(hj Ÿh]”hŒ u32 node_addr”…”�”}”(hj¢Ÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjžŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K}hjšŸubj')�”}”(hhh]”hï)�”}”(hŒduplicated node address”h]”hŒduplicated node address”…”�”}”(hj¹Ÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jµŸh´K}hj¶Ÿubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjšŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jµŸh´K}hj^Ÿubj)�”}”(hŒR``struct tipc_media_addr *media_addr`` media address advertised by duplicated node”h]”(j )�”}”(hŒ&``struct tipc_media_addr *media_addr``”h]”j)�”}”(hjÙŸh]”hŒ"struct tipc_media_addr *media_addr”…”�”}”(hjÛŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjןubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KhjÓŸubj')�”}”(hhh]”hï)�”}”(hŒ+media address advertised by duplicated node”h]”hŒ+media address advertised by duplicated node”…”�”}”(hjòŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K~hjïŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÓŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jîŸh´Khj^Ÿubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjBŸubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjN—h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_disc_rcv (C function)”Œc.tipc_disc_rcv”hNt”auh1jhjN—h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒPvoid tipc_disc_rcv (struct net *net, struct sk_buff *skb, struct tipc_bearer *b)”h]”j/)�”}”(hŒOvoid tipc_disc_rcv(struct net *net, struct sk_buff *skb, struct tipc_bearer *b)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj3 h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj/ h²hh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K¾ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjB h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj/ h²hh³jA h´K¾ubjX)�”}”(hŒ tipc_disc_rcv”h]”j^)�”}”(hŒ tipc_disc_rcv”h]”hŒ tipc_disc_rcv”…”�”}”(hjT h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjP ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj/ h²hh³jA h´K¾ubj)�”}”(hŒ=(struct net *net, struct sk_buff *skb, struct tipc_bearer *b)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjp h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjl ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj} h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjl ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‹ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j� Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjV sbŒc.tipc_disc_rcv”†”asbuh1hhjl ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjl ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¼ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjl ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjÉ h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjl ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjh ubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjâ h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÞ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjï h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÞ ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjý ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¡Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jª Œc.tipc_disc_rcv”†”asbuh1hhjÞ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÞ ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj,¡h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÞ ubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj9¡h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÞ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjh ubj%)�”}”(hŒstruct tipc_bearer *b”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjR¡h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjN¡ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_¡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjN¡ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hjp¡h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjm¡ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jr¡Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jª Œc.tipc_disc_rcv”†”asbuh1hhjN¡ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽ¡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjN¡ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjœ¡h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjN¡ubj^)�”}”(hj•,h]”hŒb”…”�”}”(hj©¡h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjN¡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjh ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj/ h²hh³jA h´K¾ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj+ h²hh³jA h´K¾ubah}”(h]”j& ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jA h´K¾hj( h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ7handle incoming discovery message (request or response)”h]”hŒ7handle incoming discovery message (request or response)”…”�”}”(hjÒ¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K¾hjÏ¡h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj( h²hh³jA h´K¾ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jê¡j­jê¡j®‰j¯‰j°‰uh1j#h²hhjN—h³Nh´Nubj²)�”}”(hŒ¯**Parameters** ``struct net *net`` applicable net namespace ``struct sk_buff *skb`` buffer containing message ``struct tipc_bearer *b`` bearer that message arrived on”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjô¡h]”hŒ Parameters”…”�”}”(hjö¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjò¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KÂhjî¡ubj)�”}”(hhh]”(j)�”}”(hŒ-``struct net *net`` applicable net namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj¢h]”hŒstruct net *net”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´K¿hj ¢ubj')�”}”(hhh]”hï)�”}”(hŒapplicable net namespace”h]”hŒapplicable net namespace”…”�”}”(hj,¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j(¢h´K¿hj)¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj ¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j(¢h´K¿hj ¢ubj)�”}”(hŒ2``struct sk_buff *skb`` buffer containing message ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjL¢h]”hŒstruct sk_buff *skb”…”�”}”(hjN¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjJ¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KÀhjF¢ubj')�”}”(hhh]”hï)�”}”(hŒbuffer containing message”h]”hŒbuffer containing message”…”�”}”(hje¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ja¢h´KÀhjb¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjF¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³ja¢h´KÀhj ¢ubj)�”}”(hŒ8``struct tipc_bearer *b`` bearer that message arrived on”h]”(j )�”}”(hŒ``struct tipc_bearer *b``”h]”j)�”}”(hj…¢h]”hŒstruct tipc_bearer *b”…”�”}”(hj‡¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjƒ¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KÂhj¢ubj')�”}”(hhh]”hï)�”}”(hŒbearer that message arrived on”h]”hŒbearer that message arrived on”…”�”}”(hjž¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´KÁhj›¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jš¢h´KÂhj ¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjî¡ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjN—h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_disc_create (C function)”Œc.tipc_disc_create”hNt”auh1jhjN—h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒqint tipc_disc_create (struct net *net, struct tipc_bearer *b, struct tipc_media_addr *dest, struct sk_buff **skb)”h]”j/)�”}”(hŒpint tipc_disc_create(struct net *net, struct tipc_bearer *b, struct tipc_media_addr *dest, struct sk_buff **skb)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjߢh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÛ¢h²hh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´MXubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî¢h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÛ¢h²hh³jí¢h´MXubjX)�”}”(hŒtipc_disc_create”h]”j^)�”}”(hŒtipc_disc_create”h]”hŒtipc_disc_create”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjü¢ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÛ¢h²hh³jí¢h´MXubj)�”}”(hŒ\(struct net *net, struct tipc_bearer *b, struct tipc_media_addr *dest, struct sk_buff **skb)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj£ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)£h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj£ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj:£h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj7£ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j<£Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj£sbŒc.tipc_disc_create”†”asbuh1hhj£ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZ£h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj£ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjh£h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj£ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hju£h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj£ubj%)�”}”(hŒstruct tipc_bearer *b”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjŽ£h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjŠ£ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›£h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŠ£ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hj¬£h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj©£ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j®£Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jV£Œc.tipc_disc_create”†”asbuh1hhjŠ£ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊ£h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŠ£ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjØ£h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjŠ£ubj^)�”}”(hj•,h]”hŒb”…”�”}”(hjå£h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŠ£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj£ubj%)�”}”(hŒstruct tipc_media_addr *dest”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjý£h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjù£ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ¤h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjù£ubh)�”}”(hhh]”j^)�”}”(hŒtipc_media_addr”h]”hŒtipc_media_addr”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¤ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¤Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jV£Œc.tipc_disc_create”†”asbuh1hhjù£ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9¤h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjù£ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjG¤h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjù£ubj^)�”}”(hŒdest”h]”hŒdest”…”�”}”(hjT¤h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjù£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj£ubj%)�”}”(hŒstruct sk_buff **skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjm¤h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hji¤ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjz¤h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhji¤ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj‹¤h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjˆ¤ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j�¤Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jV£Œc.tipc_disc_create”†”asbuh1hhji¤ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©¤h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhji¤ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj·¤h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhji¤ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjĤh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhji¤ubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjѤh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hji¤ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj£ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÛ¢h²hh³jí¢h´MXubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj×¢h²hh³jí¢h´MXubah}”(h]”jÒ¢ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jí¢h´MXhjÔ¢h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ2create object to send periodic link setup requests”h]”hŒ2create object to send periodic link setup requests”…”�”}”(hjû¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´MXhjø¤h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÔ¢h²hh³jí¢h´MXubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j¥j­j¥j®‰j¯‰j°‰uh1j#h²hhjN—h³Nh´Nubj²)�”}”(hX0**Parameters** ``struct net *net`` the applicable net namespace ``struct tipc_bearer *b`` ptr to bearer issuing requests ``struct tipc_media_addr *dest`` destination address for request messages ``struct sk_buff **skb`` pointer to created frame **Return** 0 if successful, otherwise -errno.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj¥h]”hŒ Parameters”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´M\hj¥ubj)�”}”(hhh]”(j)�”}”(hŒ1``struct net *net`` the applicable net namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj<¥h]”hŒstruct net *net”…”�”}”(hj>¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´MYhj6¥ubj')�”}”(hhh]”hï)�”}”(hŒthe applicable net namespace”h]”hŒthe applicable net namespace”…”�”}”(hjU¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jQ¥h´MYhjR¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj6¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jQ¥h´MYhj3¥ubj)�”}”(hŒ9``struct tipc_bearer *b`` ptr to bearer issuing requests ”h]”(j )�”}”(hŒ``struct tipc_bearer *b``”h]”j)�”}”(hju¥h]”hŒstruct tipc_bearer *b”…”�”}”(hjw¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjs¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´MZhjo¥ubj')�”}”(hhh]”hï)�”}”(hŒptr to bearer issuing requests”h]”hŒptr to bearer issuing requests”…”�”}”(hjŽ¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jŠ¥h´MZhj‹¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjo¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jŠ¥h´MZhj3¥ubj)�”}”(hŒJ``struct tipc_media_addr *dest`` destination address for request messages ”h]”(j )�”}”(hŒ ``struct tipc_media_addr *dest``”h]”j)�”}”(hj®¥h]”hŒstruct tipc_media_addr *dest”…”�”}”(hj°¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¬¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´M[hj¨¥ubj')�”}”(hhh]”hï)�”}”(hŒ(destination address for request messages”h]”hŒ(destination address for request messages”…”�”}”(hjÇ¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÃ¥h´M[hjÄ¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¨¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÃ¥h´M[hj3¥ubj)�”}”(hŒ2``struct sk_buff **skb`` pointer to created frame ”h]”(j )�”}”(hŒ``struct sk_buff **skb``”h]”j)�”}”(hjç¥h]”hŒstruct sk_buff **skb”…”�”}”(hjé¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjå¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´M\hjá¥ubj')�”}”(hhh]”hï)�”}”(hŒpointer to created frame”h]”hŒpointer to created frame”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jü¥h´M\hjý¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjá¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jü¥h´M\hj3¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj¥ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj"¦h]”hŒReturn”…”�”}”(hj$¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj ¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´M^hj¥ubhï)�”}”(hŒ"0 if successful, otherwise -errno.”h]”hŒ"0 if successful, otherwise -errno.”…”�”}”(hj8¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´M^hj¥ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjN—h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_disc_delete (C function)”Œc.tipc_disc_delete”hNt”auh1jhjN—h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ1void tipc_disc_delete (struct tipc_discoverer *d)”h]”j/)�”}”(hŒ0void tipc_disc_delete(struct tipc_discoverer *d)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjg¦h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjc¦h²hh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´M�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv¦h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjc¦h²hh³ju¦h´M�ubjX)�”}”(hŒtipc_disc_delete”h]”j^)�”}”(hŒtipc_disc_delete”h]”hŒtipc_disc_delete”…”�”}”(hjˆ¦h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj„¦ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjc¦h²hh³ju¦h´M�ubj)�”}”(hŒ(struct tipc_discoverer *d)”h]”j%)�”}”(hŒstruct tipc_discoverer *d”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¤¦h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj ¦ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±¦h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj ¦ubh)�”}”(hhh]”j^)�”}”(hŒtipc_discoverer”h]”hŒtipc_discoverer”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¿¦ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jĦŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjЦsbŒc.tipc_disc_delete”†”asbuh1hhj ¦ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ¦h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj ¦ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjð¦h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj ¦ubj^)�”}”(hŒd”h]”hŒd”…”�”}”(hjý¦h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ¦ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjœ¦ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjc¦h²hh³ju¦h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj_¦h²hh³ju¦h´M�ubah}”(h]”jZ¦ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³ju¦h´M�hj\¦h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ3destroy object sending periodic link setup requests”h]”hŒ3destroy object sending periodic link setup requests”…”�”}”(hj'§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´M�hj$§h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj\¦h²hh³ju¦h´M�ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j?§j­j?§j®‰j¯‰j°‰uh1j#h²hhjN—h³Nh´Nubj²)�”}”(hŒJ**Parameters** ``struct tipc_discoverer *d`` ptr to link dest structure”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjI§h]”hŒ Parameters”…”�”}”(hjK§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjG§ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´M‘hjC§ubj)�”}”(hhh]”j)�”}”(hŒ8``struct tipc_discoverer *d`` ptr to link dest structure”h]”(j )�”}”(hŒ``struct tipc_discoverer *d``”h]”j)�”}”(hjh§h]”hŒstruct tipc_discoverer *d”…”�”}”(hjj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjf§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´M“hjb§ubj')�”}”(hhh]”hï)�”}”(hŒptr to link dest structure”h]”hŒptr to link dest structure”…”�”}”(hj�§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒT/var/lib/git/docbuild/linux/Documentation/networking/tipc:163: ./net/tipc/discover.c”h´MŽhj~§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjb§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j}§h´M“hj_§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjC§ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjN—h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_disc_reset (C function)”Œc.tipc_disc_reset”hNt”auh1jhjN—h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ=void tipc_disc_reset (struct net *net, struct tipc_bearer *b)”h]”j/)�”}”(hŒ³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Khj6³ubj')�”}”(hhh]”hï)�”}”(hŒ&maximal send window to be used by link”h]”hŒ&maximal send window to be used by link”…”�”}”(hjU³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jQ³h´KhjR³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj6³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jQ³h´Khj„ªubj)�”}”(hŒ?``cong_acks`` congestion acks for congestion avoidance (FIXME) ”h]”(j )�”}”(hŒ ``cong_acks``”h]”j)�”}”(hju³h]”hŒ cong_acks”…”�”}”(hjw³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjs³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´K€hjo³ubj')�”}”(hhh]”hï)�”}”(hŒ0congestion acks for congestion avoidance (FIXME)”h]”hŒ0congestion acks for congestion avoidance (FIXME)”…”�”}”(hj޳h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jгh´K€hj‹³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjo³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jгh´K€hj„ªubj)�”}”(hŒ>``checkpoint`` seq number for congestion window size handling ”h]”(j )�”}”(hŒ``checkpoint``”h]”j)�”}”(hj®³h]”hŒ checkpoint”…”�”}”(hj°³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¬³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´K�hj¨³ubj')�”}”(hhh]”hï)�”}”(hŒ.seq number for congestion window size handling”h]”hŒ.seq number for congestion window size handling”…”�”}”(hjdzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jóh´K�hjijubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¨³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jóh´K�hj„ªubj)�”}”(hŒF``reasm_buf`` head of partially reassembled inbound message fragments ”h]”(j )�”}”(hŒ ``reasm_buf``”h]”j)�”}”(hjç³h]”hŒ reasm_buf”…”�”}”(hjé³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjå³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Kkhjá³ubj')�”}”(hhh]”hï)�”}”(hŒ7head of partially reassembled inbound message fragments”h]”hŒ7head of partially reassembled inbound message fragments”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jü³h´Kkhjý³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjá³ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jü³h´Kkhj„ªubj)�”}”(hŒK``reasm_tnlmsg`` fragmentation/reassembly area for tunnel protocol message ”h]”(j )�”}”(hŒ``reasm_tnlmsg``”h]”j)�”}”(hj ´h]”hŒ reasm_tnlmsg”…”�”}”(hj"´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´K‚hj´ubj')�”}”(hhh]”hï)�”}”(hŒ9fragmentation/reassembly area for tunnel protocol message”h]”hŒ9fragmentation/reassembly area for tunnel protocol message”…”�”}”(hj9´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j5´h´K‚hj6´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j5´h´K‚hj„ªubj)�”}”(hŒN``ackers`` # of peers that needs to ack each packet before it can be released ”h]”(j )�”}”(hŒ ``ackers``”h]”j)�”}”(hjY´h]”hŒackers”…”�”}”(hj[´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjW´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´KehjS´ubj')�”}”(hhh]”hï)�”}”(hŒB# of peers that needs to ack each packet before it can be released”h]”hŒB# of peers that needs to ack each packet before it can be released”…”�”}”(hjr´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jn´h´Kehjo´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjS´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jn´h´Kehj„ªubj)�”}”(hŒE``acked`` # last packet acked by a certain peer. Used for broadcast. ”h]”(j )�”}”(hŒ ``acked``”h]”j)�”}”(hj’´h]”hŒacked”…”�”}”(hj”´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´KfhjŒ´ubj')�”}”(hhh]”hï)�”}”(hŒ:# last packet acked by a certain peer. Used for broadcast.”h]”hŒ:# last packet acked by a certain peer. Used for broadcast.”…”�”}”(hj«´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j§´h´Kfhj¨´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjŒ´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j§´h´Kfhj„ªubj)�”}”(hŒ3``last_gap`` last gap ack blocks for bcast (FIXME) ”h]”(j )�”}”(hŒ ``last_gap``”h]”j)�”}”(hjË´h]”hŒlast_gap”…”�”}”(hjÍ´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÉ´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´KƒhjÅ´ubj')�”}”(hhh]”hï)�”}”(hŒ%last gap ack blocks for bcast (FIXME)”h]”hŒ%last gap ack blocks for bcast (FIXME)”…”�”}”(hjä´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jà´h´Kƒhjá´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÅ´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jà´h´Kƒhj„ªubj)�”}”(hŒ"``last_ga`` ptr to gap ack blocks ”h]”(j )�”}”(hŒ ``last_ga``”h]”j)�”}”(hjµh]”hŒlast_ga”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjµubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´K„hjþ´ubj')�”}”(hhh]”hï)�”}”(hŒptr to gap ack blocks”h]”hŒptr to gap ack blocks”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jµh´K„hjµubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjþ´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jµh´K„hj„ªubj)�”}”(hŒC``bc_rcvlink`` the peer specific link used for broadcast reception ”h]”(j )�”}”(hŒ``bc_rcvlink``”h]”j)�”}”(hj=µh]”hŒ bc_rcvlink”…”�”}”(hj?µh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;µubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´K…hj7µubj')�”}”(hhh]”hï)�”}”(hŒ3the peer specific link used for broadcast reception”h]”hŒ3the peer specific link used for broadcast reception”…”�”}”(hjVµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jRµh´K…hjSµubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj7µubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jRµh´K…hj„ªubj)�”}”(hŒD``bc_sndlink`` the namespace global link used for broadcast sending ”h]”(j )�”}”(hŒ``bc_sndlink``”h]”j)�”}”(hjvµh]”hŒ bc_sndlink”…”�”}”(hjxµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjtµubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´K†hjpµubj')�”}”(hhh]”hï)�”}”(hŒ4the namespace global link used for broadcast sending”h]”hŒ4the namespace global link used for broadcast sending”…”�”}”(hj�µh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j‹µh´K†hjŒµubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjpµubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‹µh´K†hj„ªubj)�”}”(hŒ ``nack_state`` bcast nack state ”h]”(j )�”}”(hŒ``nack_state``”h]”j)�”}”(hj¯µh]”hŒ nack_state”…”�”}”(hj±µh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj­µubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´K‡hj©µubj')�”}”(hhh]”hï)�”}”(hŒbcast nack state”h]”hŒbcast nack state”…”�”}”(hjȵh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jĵh´K‡hjŵubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj©µubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jĵh´K‡hj„ªubj)�”}”(hŒ4``bc_peer_is_up`` peer has acked the bcast init msg ”h]”(j )�”}”(hŒ``bc_peer_is_up``”h]”j)�”}”(hjèµh]”hŒ bc_peer_is_up”…”�”}”(hjêµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjæµubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Kˆhjâµubj')�”}”(hhh]”hï)�”}”(hŒ!peer has acked the bcast init msg”h]”hŒ!peer has acked the bcast init msg”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jýµh´Kˆhjþµubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjâµubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jýµh´Kˆhj„ªubj)�”}”(hŒ5``stats`` collects statistics regarding link activity”h]”(j )�”}”(hŒ ``stats``”h]”j)�”}”(hj!¶h]”hŒstats”…”�”}”(hj#¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Kkhj¶ubj')�”}”(hhh]”hï)�”}”(hŒ+collects statistics regarding link activity”h]”hŒ+collects statistics regarding link activity”…”�”}”(hj:¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Klhj7¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j6¶h´Kkhj„ªubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj<ªubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_link_create (C function)”Œc.tipc_link_create”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hXabool tipc_link_create (struct net *net, char *if_name, int bearer_id, int tolerance, char net_plane, u32 mtu, int priority, u32 min_win, u32 max_win, u32 session, u32 self, u32 peer, u8 *peer_id, u16 peer_caps, struct tipc_link *bc_sndlink, struct tipc_link *bc_rcvlink, struct sk_buff_head *inputq, struct sk_buff_head *namedq, struct tipc_link **link)”h]”j/)�”}”(hX`bool tipc_link_create(struct net *net, char *if_name, int bearer_id, int tolerance, char net_plane, u32 mtu, int priority, u32 min_win, u32 max_win, u32 session, u32 self, u32 peer, u8 *peer_id, u16 peer_caps, struct tipc_link *bc_sndlink, struct tipc_link *bc_rcvlink, struct sk_buff_head *inputq, struct sk_buff_head *namedq, struct tipc_link **link)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hj{¶h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjw¶h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÅubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰¶h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjw¶h²hh³jˆ¶h´MÅubjX)�”}”(hŒtipc_link_create”h]”j^)�”}”(hŒtipc_link_create”h]”hŒtipc_link_create”…”�”}”(hj›¶h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj—¶ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjw¶h²hh³jˆ¶h´MÅubj)�”}”(hXK(struct net *net, char *if_name, int bearer_id, int tolerance, char net_plane, u32 mtu, int priority, u32 min_win, u32 max_win, u32 session, u32 self, u32 peer, u8 *peer_id, u16 peer_caps, struct tipc_link *bc_sndlink, struct tipc_link *bc_rcvlink, struct sk_buff_head *inputq, struct sk_buff_head *namedq, struct tipc_link **link)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj·¶h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj³¶ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjĶh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj³¶ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjÕ¶h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÒ¶ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j×¶Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj�¶sbŒc.tipc_link_create”†”asbuh1hhj³¶ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõ¶h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj³¶ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj³¶ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj³¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒ char *if_name”h]”(jG)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj)·h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj%·ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7·h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj%·ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjE·h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj%·ubj^)�”}”(hŒif_name”h]”hŒif_name”…”�”}”(hjR·h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj%·ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒ int bearer_id”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjk·h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjg·ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy·h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjg·ubj^)�”}”(hŒ bearer_id”h]”hŒ bearer_id”…”�”}”(hj‡·h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjg·ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒ int tolerance”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj ·h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjœ·ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®·h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjœ·ubj^)�”}”(hŒ tolerance”h]”hŒ tolerance”…”�”}”(hj¼·h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjœ·ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒchar net_plane”h]”(jG)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÕ·h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÑ·ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjã·h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÑ·ubj^)�”}”(hŒ net_plane”h]”hŒ net_plane”…”�”}”(hjñ·h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÑ·ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒu32 mtu”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj ¸h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ¸ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¸Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhj¸ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+¸h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¸ubj^)�”}”(hŒmtu”h]”hŒmtu”…”�”}”(hj9¸h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒ int priority”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjR¸h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjN¸ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`¸h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjN¸ubj^)�”}”(hŒpriority”h]”hŒpriority”…”�”}”(hjn¸h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjN¸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒ u32 min_win”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjЏh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‡¸ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jŒ¸Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhjƒ¸ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨¸h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjƒ¸ubj^)�”}”(hŒmin_win”h]”hŒmin_win”…”�”}”(hj¶¸h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjƒ¸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒ u32 max_win”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjÒ¸h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjϸubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÔ¸Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhj˸ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð¸h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj˸ubj^)�”}”(hŒmax_win”h]”hŒmax_win”…”�”}”(hjþ¸h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj˸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒ u32 session”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¹Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhj¹ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8¹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¹ubj^)�”}”(hŒsession”h]”hŒsession”…”�”}”(hjF¹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒu32 self”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjb¹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj_¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jd¹Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhj[¹ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€¹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj[¹ubj^)�”}”(hŒself”h]”hŒself”…”�”}”(hj޹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj[¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒu32 peer”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjª¹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj§¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¬¹Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhj£¹ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjȹh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj£¹ubj^)�”}”(hŒpeer”h]”hŒpeer”…”�”}”(hjÖ¹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj£¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒ u8 *peer_id”h]”(h)�”}”(hhh]”j^)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjò¹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjï¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jô¹Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhjë¹ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjë¹ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjë¹ubj^)�”}”(hŒpeer_id”h]”hŒpeer_id”…”�”}”(hj+ºh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjë¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒ u16 peer_caps”h]”(h)�”}”(hhh]”j^)�”}”(hŒu16”h]”hŒu16”…”�”}”(hjGºh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjDºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jIºŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhj@ºubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeºh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj@ºubj^)�”}”(hŒ peer_caps”h]”hŒ peer_caps”…”�”}”(hjsºh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj@ºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒstruct tipc_link *bc_sndlink”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjŒºh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjˆºubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™ºh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjˆºubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjªºh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj§ºubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¬ºŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhjˆºubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjȺh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjˆºubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÖºh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjˆºubj^)�”}”(hŒ bc_sndlink”h]”hŒ bc_sndlink”…”�”}”(hjãºh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjˆºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒstruct tipc_link *bc_rcvlink”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjüºh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjøºubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj »h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjøºubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj»ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j»Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhjøºubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8»h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjøºubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjF»h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjøºubj^)�”}”(hŒ bc_rcvlink”h]”hŒ bc_rcvlink”…”�”}”(hjS»h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjøºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒstruct sk_buff_head *inputq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjl»h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjh»ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjy»h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjh»ubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjŠ»h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‡»ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jŒ»Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhjh»ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨»h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjh»ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¶»h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjh»ubj^)�”}”(hŒinputq”h]”hŒinputq”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjh»ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒstruct sk_buff_head *namedq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÜ»h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjØ»ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé»h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjØ»ubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjú»h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj÷»ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jü»Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhjØ»ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjØ»ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj&¼h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjØ»ubj^)�”}”(hŒnamedq”h]”hŒnamedq”…”�”}”(hj3¼h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjØ»ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubj%)�”}”(hŒstruct tipc_link **link”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjL¼h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjH¼ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY¼h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjH¼ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjj¼h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjg¼ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jl¼Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jñ¶Œc.tipc_link_create”†”asbuh1hhjH¼ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆ¼h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjH¼ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj–¼h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjH¼ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj£¼h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjH¼ubj^)�”}”(hŒlink”h]”hŒlink”…”�”}”(hj°¼h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjH¼ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¯¶ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjw¶h²hh³jˆ¶h´MÅubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjs¶h²hh³jˆ¶h´MÅubah}”(h]”jn¶ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jˆ¶h´MÅhjp¶h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒcreate a new link”h]”hŒcreate a new link”…”�”}”(hjÚ¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÅhj×¼h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjp¶h²hh³jˆ¶h´MÅubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jò¼j­jò¼j®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hXº**Parameters** ``struct net *net`` pointer to associated network namespace ``char *if_name`` associated interface name ``int bearer_id`` id (index) of associated bearer ``int tolerance`` link tolerance to be used by link ``char net_plane`` network plane (A,B,c..) this link belongs to ``u32 mtu`` mtu to be advertised by link ``int priority`` priority to be used by link ``u32 min_win`` minimal send window to be used by link ``u32 max_win`` maximal send window to be used by link ``u32 session`` session to be used by link ``u32 self`` local unicast link id ``u32 peer`` node id of peer node ``u8 *peer_id`` 128-bit ID of peer ``u16 peer_caps`` bitmap describing peer node capabilities ``struct tipc_link *bc_sndlink`` the namespace global link used for broadcast sending ``struct tipc_link *bc_rcvlink`` the peer specific link used for broadcast reception ``struct sk_buff_head *inputq`` queue to put messages ready for delivery ``struct sk_buff_head *namedq`` queue to put binding table update messages ready for delivery ``struct tipc_link **link`` return value, pointer to put the created link **Return** true if link was created, otherwise false”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjü¼h]”hŒ Parameters”…”�”}”(hjþ¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjú¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÉhjö¼ubj)�”}”(hhh]”(j)�”}”(hŒ<``struct net *net`` pointer to associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj½h]”hŒstruct net *net”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÆhj½ubj')�”}”(hhh]”hï)�”}”(hŒ'pointer to associated network namespace”h]”hŒ'pointer to associated network namespace”…”�”}”(hj4½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j0½h´MÆhj1½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j0½h´MÆhj½ubj)�”}”(hŒ,``char *if_name`` associated interface name ”h]”(j )�”}”(hŒ``char *if_name``”h]”j)�”}”(hjT½h]”hŒ char *if_name”…”�”}”(hjV½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjR½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÇhjN½ubj')�”}”(hhh]”hï)�”}”(hŒassociated interface name”h]”hŒassociated interface name”…”�”}”(hjm½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ji½h´MÇhjj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjN½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³ji½h´MÇhj½ubj)�”}”(hŒ2``int bearer_id`` id (index) of associated bearer ”h]”(j )�”}”(hŒ``int bearer_id``”h]”j)�”}”(hj�½h]”hŒ int bearer_id”…”�”}”(hj�½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‹½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÈhj‡½ubj')�”}”(hhh]”hï)�”}”(hŒid (index) of associated bearer”h]”hŒid (index) of associated bearer”…”�”}”(hj¦½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¢½h´MÈhj£½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj‡½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¢½h´MÈhj½ubj)�”}”(hŒ4``int tolerance`` link tolerance to be used by link ”h]”(j )�”}”(hŒ``int tolerance``”h]”j)�”}”(hjƽh]”hŒ int tolerance”…”�”}”(hjȽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjĽubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÉhjÀ½ubj')�”}”(hhh]”hï)�”}”(hŒ!link tolerance to be used by link”h]”hŒ!link tolerance to be used by link”…”�”}”(hjß½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÛ½h´MÉhjܽubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÀ½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÛ½h´MÉhj½ubj)�”}”(hŒ@``char net_plane`` network plane (A,B,c..) this link belongs to ”h]”(j )�”}”(hŒ``char net_plane``”h]”j)�”}”(hjÿ½h]”hŒchar net_plane”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjý½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÊhjù½ubj')�”}”(hhh]”hï)�”}”(hŒ,network plane (A,B,c..) this link belongs to”h]”hŒ,network plane (A,B,c..) this link belongs to”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¾h´MÊhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjù½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¾h´MÊhj½ubj)�”}”(hŒ)``u32 mtu`` mtu to be advertised by link ”h]”(j )�”}”(hŒ ``u32 mtu``”h]”j)�”}”(hj8¾h]”hŒu32 mtu”…”�”}”(hj:¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MËhj2¾ubj')�”}”(hhh]”hï)�”}”(hŒmtu to be advertised by link”h]”hŒmtu to be advertised by link”…”�”}”(hjQ¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jM¾h´MËhjN¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj2¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jM¾h´MËhj½ubj)�”}”(hŒ-``int priority`` priority to be used by link ”h]”(j )�”}”(hŒ``int priority``”h]”j)�”}”(hjq¾h]”hŒ int priority”…”�”}”(hjs¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjo¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÌhjk¾ubj')�”}”(hhh]”hï)�”}”(hŒpriority to be used by link”h]”hŒpriority to be used by link”…”�”}”(hjоh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j†¾h´MÌhj‡¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjk¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j†¾h´MÌhj½ubj)�”}”(hŒ7``u32 min_win`` minimal send window to be used by link ”h]”(j )�”}”(hŒ``u32 min_win``”h]”j)�”}”(hjª¾h]”hŒ u32 min_win”…”�”}”(hj¬¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÍhj¤¾ubj')�”}”(hhh]”hï)�”}”(hŒ&minimal send window to be used by link”h]”hŒ&minimal send window to be used by link”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¿¾h´MÍhjÀ¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¤¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¿¾h´MÍhj½ubj)�”}”(hŒ7``u32 max_win`` maximal send window to be used by link ”h]”(j )�”}”(hŒ``u32 max_win``”h]”j)�”}”(hjã¾h]”hŒ u32 max_win”…”�”}”(hjå¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjá¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÎhjݾubj')�”}”(hhh]”hï)�”}”(hŒ&maximal send window to be used by link”h]”hŒ&maximal send window to be used by link”…”�”}”(hjü¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jø¾h´MÎhjù¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjݾubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jø¾h´MÎhj½ubj)�”}”(hŒ+``u32 session`` session to be used by link ”h]”(j )�”}”(hŒ``u32 session``”h]”j)�”}”(hj¿h]”hŒ u32 session”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÏhj¿ubj')�”}”(hhh]”hï)�”}”(hŒsession to be used by link”h]”hŒsession to be used by link”…”�”}”(hj5¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j1¿h´MÏhj2¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j1¿h´MÏhj½ubj)�”}”(hŒ#``u32 self`` local unicast link id ”h]”(j )�”}”(hŒ ``u32 self``”h]”j)�”}”(hjU¿h]”hŒu32 self”…”�”}”(hjW¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjS¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M×hjO¿ubj')�”}”(hhh]”hï)�”}”(hŒlocal unicast link id”h]”hŒlocal unicast link id”…”�”}”(hjn¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jj¿h´M×hjk¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjO¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jj¿h´M×hj½ubj)�”}”(hŒ"``u32 peer`` node id of peer node ”h]”(j )�”}”(hŒ ``u32 peer``”h]”j)�”}”(hjŽ¿h]”hŒu32 peer”…”�”}”(hj�¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŒ¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÐhjˆ¿ubj')�”}”(hhh]”hï)�”}”(hŒnode id of peer node”h]”hŒnode id of peer node”…”�”}”(hj§¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j£¿h´MÐhj¤¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjˆ¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j£¿h´MÐhj½ubj)�”}”(hŒ#``u8 *peer_id`` 128-bit ID of peer ”h]”(j )�”}”(hŒ``u8 *peer_id``”h]”j)�”}”(hjÇ¿h]”hŒ u8 *peer_id”…”�”}”(hjÉ¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÅ¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MØhjÁ¿ubj')�”}”(hhh]”hï)�”}”(hŒ128-bit ID of peer”h]”hŒ128-bit ID of peer”…”�”}”(hjà¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÜ¿h´MØhjÝ¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÁ¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÜ¿h´MØhj½ubj)�”}”(hŒ;``u16 peer_caps`` bitmap describing peer node capabilities ”h]”(j )�”}”(hŒ``u16 peer_caps``”h]”j)�”}”(hjÀh]”hŒ u16 peer_caps”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjþ¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÑhjú¿ubj')�”}”(hhh]”hï)�”}”(hŒ(bitmap describing peer node capabilities”h]”hŒ(bitmap describing peer node capabilities”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÀh´MÑhjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjú¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÀh´MÑhj½ubj)�”}”(hŒV``struct tipc_link *bc_sndlink`` the namespace global link used for broadcast sending ”h]”(j )�”}”(hŒ ``struct tipc_link *bc_sndlink``”h]”j)�”}”(hj9Àh]”hŒstruct tipc_link *bc_sndlink”…”�”}”(hj;Àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj7Àubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÒhj3Àubj')�”}”(hhh]”hï)�”}”(hŒ4the namespace global link used for broadcast sending”h]”hŒ4the namespace global link used for broadcast sending”…”�”}”(hjRÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jNÀh´MÒhjOÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj3Àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jNÀh´MÒhj½ubj)�”}”(hŒU``struct tipc_link *bc_rcvlink`` the peer specific link used for broadcast reception ”h]”(j )�”}”(hŒ ``struct tipc_link *bc_rcvlink``”h]”j)�”}”(hjrÀh]”hŒstruct tipc_link *bc_rcvlink”…”�”}”(hjtÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjpÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÓhjlÀubj')�”}”(hhh]”hï)�”}”(hŒ3the peer specific link used for broadcast reception”h]”hŒ3the peer specific link used for broadcast reception”…”�”}”(hj‹Àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j‡Àh´MÓhjˆÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjlÀubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‡Àh´MÓhj½ubj)�”}”(hŒI``struct sk_buff_head *inputq`` queue to put messages ready for delivery ”h]”(j )�”}”(hŒ``struct sk_buff_head *inputq``”h]”j)�”}”(hj«Àh]”hŒstruct sk_buff_head *inputq”…”�”}”(hj­Àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj©Àubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÔhj¥Àubj')�”}”(hhh]”hï)�”}”(hŒ(queue to put messages ready for delivery”h]”hŒ(queue to put messages ready for delivery”…”�”}”(hjÄÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÀÀh´MÔhjÁÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¥Àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÀÀh´MÔhj½ubj)�”}”(hŒ^``struct sk_buff_head *namedq`` queue to put binding table update messages ready for delivery ”h]”(j )�”}”(hŒ``struct sk_buff_head *namedq``”h]”j)�”}”(hjäÀh]”hŒstruct sk_buff_head *namedq”…”�”}”(hjæÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjâÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÕhjÞÀubj')�”}”(hhh]”hï)�”}”(hŒ=queue to put binding table update messages ready for delivery”h]”hŒ=queue to put binding table update messages ready for delivery”…”�”}”(hjýÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jùÀh´MÕhjúÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÞÀubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jùÀh´MÕhj½ubj)�”}”(hŒJ``struct tipc_link **link`` return value, pointer to put the created link ”h]”(j )�”}”(hŒ``struct tipc_link **link``”h]”j)�”}”(hjÁh]”hŒstruct tipc_link **link”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÖhjÁubj')�”}”(hhh]”hï)�”}”(hŒ-return value, pointer to put the created link”h]”hŒ-return value, pointer to put the created link”…”�”}”(hj6Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j2Áh´MÖhj3Áubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j2Áh´MÖhj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjö¼ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjXÁh]”hŒReturn”…”�”}”(hjZÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjVÁubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MØhjö¼ubhï)�”}”(hŒ)true if link was created, otherwise false”h]”hŒ)true if link was created, otherwise false”…”�”}”(hjnÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MÚhjö¼ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_link_bc_create (C function)”Œc.tipc_link_bc_create”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒñbool tipc_link_bc_create (struct net *net, u32 ownnode, u32 peer, u8 *peer_id, int mtu, u32 min_win, u32 max_win, u16 peer_caps, struct sk_buff_head *inputq, struct sk_buff_head *namedq, struct tipc_link *bc_sndlink, struct tipc_link **link)”h]”j/)�”}”(hŒðbool tipc_link_bc_create(struct net *net, u32 ownnode, u32 peer, u8 *peer_id, int mtu, u32 min_win, u32 max_win, u16 peer_caps, struct sk_buff_head *inputq, struct sk_buff_head *namedq, struct tipc_link *bc_sndlink, struct tipc_link **link)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hj�Áh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj™Áh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«Áh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj™Áh²hh³jªÁh´MubjX)�”}”(hŒtipc_link_bc_create”h]”j^)�”}”(hŒtipc_link_bc_create”h]”hŒtipc_link_bc_create”…”�”}”(hj½Áh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¹Áubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj™Áh²hh³jªÁh´Mubj)�”}”(hŒØ(struct net *net, u32 ownnode, u32 peer, u8 *peer_id, int mtu, u32 min_win, u32 max_win, u16 peer_caps, struct sk_buff_head *inputq, struct sk_buff_head *namedq, struct tipc_link *bc_sndlink, struct tipc_link **link)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÙÁh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÕÁubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæÁh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÕÁubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj÷Áh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjôÁubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jùÁŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¿ÁsbŒc.tipc_link_bc_create”†”asbuh1hhjÕÁubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÕÁubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj%Âh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÕÁubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj2Âh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÕÁubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒ u32 ownnode”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjNÂh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjKÂubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jPÂŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂŒc.tipc_link_bc_create”†”asbuh1hhjGÂubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlÂh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjGÂubj^)�”}”(hŒownnode”h]”hŒownnode”…”�”}”(hjzÂh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjGÂubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒu32 peer”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj–Âh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj“Âubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j˜ÂŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂŒc.tipc_link_bc_create”†”asbuh1hhj�ÂubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´Âh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj�Âubj^)�”}”(hŒpeer”h]”hŒpeer”…”�”}”(hjÂÂh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�Âubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒ u8 *peer_id”h]”(h)�”}”(hhh]”j^)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjÞÂh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÛÂubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jàÂŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂŒc.tipc_link_bc_create”†”asbuh1hhj×ÂubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjüÂh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj×Âubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj Ãh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj×Âubj^)�”}”(hŒpeer_id”h]”hŒpeer_id”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj×Âubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒint mtu”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj0Ãh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj,ÃubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>Ãh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj,Ãubj^)�”}”(hŒmtu”h]”hŒmtu”…”�”}”(hjLÃh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj,Ãubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒ u32 min_win”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjhÃh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjeÃubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jjÃŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂŒc.tipc_link_bc_create”†”asbuh1hhjaÃubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†Ãh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjaÃubj^)�”}”(hŒmin_win”h]”hŒmin_win”…”�”}”(hj”Ãh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjaÃubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒ u32 max_win”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj°Ãh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj­Ãubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j²ÃŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂŒc.tipc_link_bc_create”†”asbuh1hhj©ÃubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎÃh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj©Ãubj^)�”}”(hŒmax_win”h]”hŒmax_win”…”�”}”(hjÜÃh²hh³Nh´Nubah}”(h]”h •]”jiah"]”h$]”h&]”uh1j]hj©Ãubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒ u16 peer_caps”h]”(h)�”}”(hhh]”j^)�”}”(hŒu16”h]”hŒu16”…”�”}”(hjøÃh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjõÃubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”júÃŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂŒc.tipc_link_bc_create”†”asbuh1hhjñÃubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjñÃubj^)�”}”(hŒ peer_caps”h]”hŒ peer_caps”…”�”}”(hj$Äh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjñÃubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒstruct sk_buff_head *inputq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj=Äh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj9ÄubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJÄh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj9Äubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj[Äh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjXÄubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j]ÄŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂŒc.tipc_link_bc_create”†”asbuh1hhj9ÄubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjyÄh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj9Äubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj‡Äh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj9Äubj^)�”}”(hŒinputq”h]”hŒinputq”…”�”}”(hj”Äh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj9Äubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒstruct sk_buff_head *namedq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj­Äh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj©ÄubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºÄh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj©Äubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjËÄh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÈÄubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÍÄŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂŒc.tipc_link_bc_create”†”asbuh1hhj©ÄubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéÄh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj©Äubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj÷Äh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj©Äubj^)�”}”(hŒnamedq”h]”hŒnamedq”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj©Äubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒstruct tipc_link *bc_sndlink”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÅubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*Åh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÅubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hj;Åh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj8Åubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j=ÅŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂŒc.tipc_link_bc_create”†”asbuh1hhjÅubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYÅh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÅubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjgÅh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÅubj^)�”}”(hŒ bc_sndlink”h]”hŒ bc_sndlink”…”�”}”(hjtÅh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÅubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubj%)�”}”(hŒstruct tipc_link **link”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj�Åh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj‰ÅubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšÅh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‰Åubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hj«Åh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¨Åubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j­ÅŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂŒc.tipc_link_bc_create”†”asbuh1hhj‰ÅubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉÅh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‰Åubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj×Åh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj‰Åubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjäÅh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj‰Åubj^)�”}”(hŒlink”h]”hŒlink”…”�”}”(hjñÅh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‰Åubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÁubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj™Áh²hh³jªÁh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj•Áh²hh³jªÁh´Mubah}”(h]”j�Áah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jªÁh´Mhj’Áh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ(create new link to be used for broadcast”h]”hŒ(create new link to be used for broadcast”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MhjÆh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj’Áh²hh³jªÁh´Mubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j3Æj­j3Æj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hX0**Parameters** ``struct net *net`` pointer to associated network namespace ``u32 ownnode`` identity of own node ``u32 peer`` node id of peer node ``u8 *peer_id`` 128-bit ID of peer ``int mtu`` mtu to be used initially if no peers ``u32 min_win`` minimal send window to be used by link ``u32 max_win`` maximal send window to be used by link ``u16 peer_caps`` bitmap describing peer node capabilities ``struct sk_buff_head *inputq`` queue to put messages ready for delivery ``struct sk_buff_head *namedq`` queue to put binding table update messages ready for delivery ``struct tipc_link *bc_sndlink`` the namespace global link used for broadcast sending ``struct tipc_link **link`` return value, pointer to put the created link **Return** true if link was created, otherwise false”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj=Æh]”hŒ Parameters”…”�”}”(hj?Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj;Æubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mhj7Æubj)�”}”(hhh]”(j)�”}”(hŒ<``struct net *net`` pointer to associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj\Æh]”hŒstruct net *net”…”�”}”(hj^Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjZÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MhjVÆubj')�”}”(hhh]”hï)�”}”(hŒ'pointer to associated network namespace”h]”hŒ'pointer to associated network namespace”…”�”}”(hjuÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jqÆh´MhjrÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjVÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jqÆh´MhjSÆubj)�”}”(hŒ%``u32 ownnode`` identity of own node ”h]”(j )�”}”(hŒ``u32 ownnode``”h]”j)�”}”(hj•Æh]”hŒ u32 ownnode”…”�”}”(hj—Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“Æubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M!hj�Æubj')�”}”(hhh]”hï)�”}”(hŒidentity of own node”h]”hŒidentity of own node”…”�”}”(hj®Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jªÆh´M!hj«Æubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�Æubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jªÆh´M!hjSÆubj)�”}”(hŒ"``u32 peer`` node id of peer node ”h]”(j )�”}”(hŒ ``u32 peer``”h]”j)�”}”(hjÎÆh]”hŒu32 peer”…”�”}”(hjÐÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÌÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M"hjÈÆubj')�”}”(hhh]”hï)�”}”(hŒnode id of peer node”h]”hŒnode id of peer node”…”�”}”(hjçÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jãÆh´M"hjäÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÈÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jãÆh´M"hjSÆubj)�”}”(hŒ#``u8 *peer_id`` 128-bit ID of peer ”h]”(j )�”}”(hŒ``u8 *peer_id``”h]”j)�”}”(hjÇh]”hŒ u8 *peer_id”…”�”}”(hj Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M#hjÇubj')�”}”(hhh]”hï)�”}”(hŒ128-bit ID of peer”h]”hŒ128-bit ID of peer”…”�”}”(hj Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÇh´M#hjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÇh´M#hjSÆubj)�”}”(hŒ1``int mtu`` mtu to be used initially if no peers ”h]”(j )�”}”(hŒ ``int mtu``”h]”j)�”}”(hj@Çh]”hŒint mtu”…”�”}”(hjBÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj>Çubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mhj:Çubj')�”}”(hhh]”hï)�”}”(hŒ$mtu to be used initially if no peers”h]”hŒ$mtu to be used initially if no peers”…”�”}”(hjYÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jUÇh´MhjVÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj:Çubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jUÇh´MhjSÆubj)�”}”(hŒ7``u32 min_win`` minimal send window to be used by link ”h]”(j )�”}”(hŒ``u32 min_win``”h]”j)�”}”(hjyÇh]”hŒ u32 min_win”…”�”}”(hj{Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjwÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MhjsÇubj')�”}”(hhh]”hï)�”}”(hŒ&minimal send window to be used by link”h]”hŒ&minimal send window to be used by link”…”�”}”(hj’Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jŽÇh´Mhj�Çubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjsÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jŽÇh´MhjSÆubj)�”}”(hŒ7``u32 max_win`` maximal send window to be used by link ”h]”(j )�”}”(hŒ``u32 max_win``”h]”j)�”}”(hj²Çh]”hŒ u32 max_win”…”�”}”(hj´Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj°Çubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mhj¬Çubj')�”}”(hhh]”hï)�”}”(hŒ&maximal send window to be used by link”h]”hŒ&maximal send window to be used by link”…”�”}”(hjËÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÇÇh´MhjÈÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¬Çubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÇÇh´MhjSÆubj)�”}”(hŒ;``u16 peer_caps`` bitmap describing peer node capabilities ”h]”(j )�”}”(hŒ``u16 peer_caps``”h]”j)�”}”(hjëÇh]”hŒ u16 peer_caps”…”�”}”(hjíÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjéÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M$hjåÇubj')�”}”(hhh]”hï)�”}”(hŒ(bitmap describing peer node capabilities”h]”hŒ(bitmap describing peer node capabilities”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÈh´M$hjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjåÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÈh´M$hjSÆubj)�”}”(hŒI``struct sk_buff_head *inputq`` queue to put messages ready for delivery ”h]”(j )�”}”(hŒ``struct sk_buff_head *inputq``”h]”j)�”}”(hj$Èh]”hŒstruct sk_buff_head *inputq”…”�”}”(hj&Èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj"Èubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MhjÈubj')�”}”(hhh]”hï)�”}”(hŒ(queue to put messages ready for delivery”h]”hŒ(queue to put messages ready for delivery”…”�”}”(hj=Èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j9Èh´Mhj:Èubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÈubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j9Èh´MhjSÆubj)�”}”(hŒ^``struct sk_buff_head *namedq`` queue to put binding table update messages ready for delivery ”h]”(j )�”}”(hŒ``struct sk_buff_head *namedq``”h]”j)�”}”(hj]Èh]”hŒstruct sk_buff_head *namedq”…”�”}”(hj_Èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj[Èubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MhjWÈubj')�”}”(hhh]”hï)�”}”(hŒ=queue to put binding table update messages ready for delivery”h]”hŒ=queue to put binding table update messages ready for delivery”…”�”}”(hjvÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jrÈh´MhjsÈubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjWÈubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jrÈh´MhjSÆubj)�”}”(hŒV``struct tipc_link *bc_sndlink`` the namespace global link used for broadcast sending ”h]”(j )�”}”(hŒ ``struct tipc_link *bc_sndlink``”h]”j)�”}”(hj–Èh]”hŒstruct tipc_link *bc_sndlink”…”�”}”(hj˜Èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj”Èubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M%hj�Èubj')�”}”(hhh]”hï)�”}”(hŒ4the namespace global link used for broadcast sending”h]”hŒ4the namespace global link used for broadcast sending”…”�”}”(hj¯Èh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j«Èh´M%hj¬Èubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�Èubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j«Èh´M%hjSÆubj)�”}”(hŒJ``struct tipc_link **link`` return value, pointer to put the created link ”h]”(j )�”}”(hŒ``struct tipc_link **link``”h]”j)�”}”(hjÏÈh]”hŒstruct tipc_link **link”…”�”}”(hjÑÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÍÈubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M hjÉÈubj')�”}”(hhh]”hï)�”}”(hŒ-return value, pointer to put the created link”h]”hŒ-return value, pointer to put the created link”…”�”}”(hjèÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jäÈh´M hjåÈubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÉÈubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jäÈh´M hjSÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj7Æubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj Éh]”hŒReturn”…”�”}”(hj Éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M"hj7Æubhï)�”}”(hŒ)true if link was created, otherwise false”h]”hŒ)true if link was created, otherwise false”…”�”}”(hj Éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M'hj7Æubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_link_fsm_evt (C function)”Œc.tipc_link_fsm_evt”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ4int tipc_link_fsm_evt (struct tipc_link *l, int evt)”h]”j/)�”}”(hŒ3int tipc_link_fsm_evt(struct tipc_link *l, int evt)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjOÉh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjKÉh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MUubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^Éh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjKÉh²hh³j]Éh´MUubjX)�”}”(hŒtipc_link_fsm_evt”h]”j^)�”}”(hŒtipc_link_fsm_evt”h]”hŒtipc_link_fsm_evt”…”�”}”(hjpÉh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjlÉubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjKÉh²hh³j]Éh´MUubj)�”}”(hŒ(struct tipc_link *l, int evt)”h]”(j%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjŒÉh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjˆÉubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj™Éh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjˆÉubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjªÉh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj§Éubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¬ÉŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjrÉsbŒc.tipc_link_fsm_evt”†”asbuh1hhjˆÉubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊÉh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjˆÉubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjØÉh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjˆÉubj^)�”}”(hŒl”h]”hŒl”…”�”}”(hjåÉh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjˆÉubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj„Éubj%)�”}”(hŒint evt”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjþÉh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjúÉubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Êh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjúÉubj^)�”}”(hŒevt”h]”hŒevt”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjúÉubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj„Éubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjKÉh²hh³j]Éh´MUubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjGÉh²hh³j]Éh´MUubah}”(h]”jBÉah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j]Éh´MUhjDÉh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒlink finite state machine”h]”hŒlink finite state machine”…”�”}”(hjDÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MUhjAÊh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjDÉh²hh³j]Éh´MUubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j\Êj­j\Êj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hŒl**Parameters** ``struct tipc_link *l`` pointer to link ``int evt`` state machine event to be processed”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjfÊh]”hŒ Parameters”…”�”}”(hjhÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjdÊubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MYhj`Êubj)�”}”(hhh]”(j)�”}”(hŒ(``struct tipc_link *l`` pointer to link ”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hj…Êh]”hŒstruct tipc_link *l”…”�”}”(hj‡Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjƒÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MVhjÊubj')�”}”(hhh]”hï)�”}”(hŒpointer to link”h]”hŒpointer to link”…”�”}”(hjžÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jšÊh´MVhj›Êubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jšÊh´MVhj|Êubj)�”}”(hŒ/``int evt`` state machine event to be processed”h]”(j )�”}”(hŒ ``int evt``”h]”j)�”}”(hj¾Êh]”hŒint evt”…”�”}”(hjÀÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¼Êubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MXhj¸Êubj')�”}”(hhh]”hï)�”}”(hŒ#state machine event to be processed”h]”hŒ#state machine event to be processed”…”�”}”(hj×Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MWhjÔÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¸Êubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÓÊh´MXhj|Êubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj`Êubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ!tipc_link_too_silent (C function)”Œc.tipc_link_too_silent”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ/bool tipc_link_too_silent (struct tipc_link *l)”h]”j/)�”}”(hŒ.bool tipc_link_too_silent(struct tipc_link *l)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjËh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M#ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&Ëh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjËh²hh³j%Ëh´M#ubjX)�”}”(hŒtipc_link_too_silent”h]”j^)�”}”(hŒtipc_link_too_silent”h]”hŒtipc_link_too_silent”…”�”}”(hj8Ëh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj4Ëubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjËh²hh³j%Ëh´M#ubj)�”}”(hŒ(struct tipc_link *l)”h]”j%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjTËh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjPËubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjaËh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjPËubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjrËh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjoËubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jtËŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj:ËsbŒc.tipc_link_too_silent”†”asbuh1hhjPËubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’Ëh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjPËubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj Ëh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjPËubj^)�”}”(hjçÉh]”hŒl”…”�”}”(hj­Ëh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjPËubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjLËubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjËh²hh³j%Ëh´M#ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjËh²hh³j%Ëh´M#ubah}”(h]”j Ëah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j%Ëh´M#hj Ëh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒcheck if link is "too silent"”h]”hŒ!check if link is “too silentâ€�”…”�”}”(hjÖËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M#hjÓËh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj Ëh²hh³j%Ëh´M#ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jîËj­jîËj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hŒ¬**Parameters** ``struct tipc_link *l`` tipc link to be checked **Return** true if the link 'silent_intv_cnt' is about to reach the 'abort_limit' value, otherwise false”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjøËh]”hŒ Parameters”…”�”}”(hjúËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjöËubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M'hjòËubj)�”}”(hhh]”j)�”}”(hŒ0``struct tipc_link *l`` tipc link to be checked ”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hjÌh]”hŒstruct tipc_link *l”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M$hjÌubj')�”}”(hhh]”hï)�”}”(hŒtipc link to be checked”h]”hŒtipc link to be checked”…”�”}”(hj0Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j,Ìh´M$hj-Ìubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j,Ìh´M$hjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjòËubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjRÌh]”hŒReturn”…”�”}”(hjTÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjPÌubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M&hjòËubhï)�”}”(hŒ]true if the link 'silent_intv_cnt' is about to reach the 'abort_limit' value, otherwise false”h]”hŒetrue if the link ‘silent_intv_cnt’ is about to reach the ‘abort_limit’ value, otherwise false”…”�”}”(hjhÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M&hjòËubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒlink_schedule_user (C function)”Œc.link_schedule_user”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒBint link_schedule_user (struct tipc_link *l, struct tipc_msg *hdr)”h]”j/)�”}”(hŒAint link_schedule_user(struct tipc_link *l, struct tipc_msg *hdr)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj—Ìh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj“Ìh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MlubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦Ìh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj“Ìh²hh³j¥Ìh´MlubjX)�”}”(hŒlink_schedule_user”h]”j^)�”}”(hŒlink_schedule_user”h]”hŒlink_schedule_user”…”�”}”(hj¸Ìh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj´Ìubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj“Ìh²hh³j¥Ìh´Mlubj)�”}”(hŒ+(struct tipc_link *l, struct tipc_msg *hdr)”h]”(j%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÔÌh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÐÌubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáÌh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÐÌubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjòÌh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjïÌubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jôÌŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjºÌsbŒc.link_schedule_user”†”asbuh1hhjÐÌubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÐÌubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj Íh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÐÌubj^)�”}”(hjçÉh]”hŒl”…”�”}”(hj-Íh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÐÌubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÌÌubj%)�”}”(hŒstruct tipc_msg *hdr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjEÍh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjAÍubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjRÍh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjAÍubh)�”}”(hhh]”j^)�”}”(hŒtipc_msg”h]”hŒtipc_msg”…”�”}”(hjcÍh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj`Íubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jeÍŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÍŒc.link_schedule_user”†”asbuh1hhjAÍubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Íh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjAÍubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj�Íh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjAÍubj^)�”}”(hŒhdr”h]”hŒhdr”…”�”}”(hjœÍh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjAÍubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÌÌubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj“Ìh²hh³j¥Ìh´Mlubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj�Ìh²hh³j¥Ìh´Mlubah}”(h]”jŠÌah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j¥Ìh´MlhjŒÌh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ5schedule a message sender for wakeup after congestion”h]”hŒ5schedule a message sender for wakeup after congestion”…”�”}”(hjÆÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MlhjÃÍh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjŒÌh²hh³j¥Ìh´Mlubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÞÍj­jÞÍj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hŒ¹**Parameters** ``struct tipc_link *l`` congested link ``struct tipc_msg *hdr`` header of message that is being sent Create pseudo msg to send back to user when congestion abates”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjèÍh]”hŒ Parameters”…”�”}”(hjêÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjæÍubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MphjâÍubj)�”}”(hhh]”(j)�”}”(hŒ'``struct tipc_link *l`` congested link ”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hjÎh]”hŒstruct tipc_link *l”…”�”}”(hj Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÎubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MmhjÎubj')�”}”(hhh]”hï)�”}”(hŒcongested link”h]”hŒcongested link”…”�”}”(hj Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÎh´MmhjÎubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÎubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÎh´MmhjþÍubj)�”}”(hŒ{``struct tipc_msg *hdr`` header of message that is being sent Create pseudo msg to send back to user when congestion abates”h]”(j )�”}”(hŒ``struct tipc_msg *hdr``”h]”j)�”}”(hj@Îh]”hŒstruct tipc_msg *hdr”…”�”}”(hjBÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj>Îubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mnhj:Îubj')�”}”(hhh]”hï)�”}”(hŒbheader of message that is being sent Create pseudo msg to send back to user when congestion abates”h]”hŒbheader of message that is being sent Create pseudo msg to send back to user when congestion abates”…”�”}”(hjYÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jUÎh´MnhjVÎubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj:Îubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jUÎh´MnhjþÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjâÍubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ link_prepare_wakeup (C function)”Œc.link_prepare_wakeup”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ.void link_prepare_wakeup (struct tipc_link *l)”h]”j/)�”}”(hŒ-void link_prepare_wakeup(struct tipc_link *l)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj™Îh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj•Îh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M…ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨Îh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj•Îh²hh³j§Îh´M…ubjX)�”}”(hŒlink_prepare_wakeup”h]”j^)�”}”(hŒlink_prepare_wakeup”h]”hŒlink_prepare_wakeup”…”�”}”(hjºÎh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¶Îubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj•Îh²hh³j§Îh´M…ubj)�”}”(hŒ(struct tipc_link *l)”h]”j%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÖÎh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÒÎubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãÎh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÒÎubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjôÎh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjñÎubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jöÎŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¼ÎsbŒc.link_prepare_wakeup”†”asbuh1hhjÒÎubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÒÎubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj"Ïh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÒÎubj^)�”}”(hjçÉh]”hŒl”…”�”}”(hj/Ïh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÒÎubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÎÎubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj•Îh²hh³j§Îh´M…ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj‘Îh²hh³j§Îh´M…ubah}”(h]”jŒÎah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j§Îh´M…hjŽÎh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ)prepare users for wakeup after congestion”h]”hŒ)prepare users for wakeup after congestion”…”�”}”(hjXÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M…hjUÏh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjŽÎh²hh³j§Îh´M…ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jpÏj­jpÏj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hŒ‘**Parameters** ``struct tipc_link *l`` congested link Wake up a number of waiting users, as permitted by available space in the send queue”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjzÏh]”hŒ Parameters”…”�”}”(hj|Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjxÏubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M‰hjtÏubj)�”}”(hhh]”j)�”}”(hŒ{``struct tipc_link *l`` congested link Wake up a number of waiting users, as permitted by available space in the send queue”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hj™Ïh]”hŒstruct tipc_link *l”…”�”}”(hj›Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj—Ïubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M‡hj“Ïubj')�”}”(hhh]”hï)�”}”(hŒccongested link Wake up a number of waiting users, as permitted by available space in the send queue”h]”hŒccongested link Wake up a number of waiting users, as permitted by available space in the send queue”…”�”}”(hj²Ïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M†hj¯Ïubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj“Ïubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j®Ïh´M‡hj�Ïubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjtÏubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ.tipc_link_set_skb_retransmit_time (C function)”Œ#c.tipc_link_set_skb_retransmit_time”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒQvoid tipc_link_set_skb_retransmit_time (struct sk_buff *skb, struct tipc_link *l)”h]”j/)�”}”(hŒPvoid tipc_link_set_skb_retransmit_time(struct sk_buff *skb, struct tipc_link *l)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjóÏh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjïÏh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M¨ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjïÏh²hh³jÐh´M¨ubjX)�”}”(hŒ!tipc_link_set_skb_retransmit_time”h]”j^)�”}”(hŒ!tipc_link_set_skb_retransmit_time”h]”hŒ!tipc_link_set_skb_retransmit_time”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÐubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjïÏh²hh³jÐh´M¨ubj)�”}”(hŒ*(struct sk_buff *skb, struct tipc_link *l)”h]”(j%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj0Ðh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj,ÐubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=Ðh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj,Ðubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjNÐh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjKÐubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jPÐŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÐsbŒ#c.tipc_link_set_skb_retransmit_time”†”asbuh1hhj,ÐubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnÐh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj,Ðubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj|Ðh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj,Ðubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj‰Ðh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj,Ðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj(Ðubj%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¢Ðh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjžÐubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯Ðh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjžÐubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjÀÐh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj½Ðubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÂÐŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jjÐŒ#c.tipc_link_set_skb_retransmit_time”†”asbuh1hhjžÐubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞÐh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjžÐubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjìÐh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjžÐubj^)�”}”(hjçÉh]”hŒl”…”�”}”(hjùÐh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjžÐubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj(Ðubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjïÏh²hh³jÐh´M¨ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjëÏh²hh³jÐh´M¨ubah}”(h]”jæÏah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÐh´M¨hjèÏh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒNset the time at which retransmission of the given skb should be next attempted”h]”hŒNset the time at which retransmission of the given skb should be next attempted”…”�”}”(hj"Ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M¨hjÑh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjèÏh²hh³jÐh´M¨ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j:Ñj­j:Ñj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hŒ”**Parameters** ``struct sk_buff *skb`` skb to set a future retransmission time for ``struct tipc_link *l`` link the skb will be transmitted on”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjDÑh]”hŒ Parameters”…”�”}”(hjFÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjBÑubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M¬hj>Ñubj)�”}”(hhh]”(j)�”}”(hŒD``struct sk_buff *skb`` skb to set a future retransmission time for ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjcÑh]”hŒstruct sk_buff *skb”…”�”}”(hjeÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjaÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mªhj]Ñubj')�”}”(hhh]”hï)�”}”(hŒ+skb to set a future retransmission time for”h]”hŒ+skb to set a future retransmission time for”…”�”}”(hj|Ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jxÑh´MªhjyÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj]Ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jxÑh´MªhjZÑubj)�”}”(hŒ;``struct tipc_link *l`` link the skb will be transmitted on”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hjœÑh]”hŒstruct tipc_link *l”…”�”}”(hjžÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjšÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M¬hj–Ñubj')�”}”(hhh]”hï)�”}”(hŒ#link the skb will be transmitted on”h]”hŒ#link the skb will be transmitted on”…”�”}”(hjµÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M«hj²Ñubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj–Ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j±Ñh´M¬hjZÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj>Ñubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_link_xmit (C function)”Œc.tipc_link_xmit”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ_int tipc_link_xmit (struct tipc_link *l, struct sk_buff_head *list, struct sk_buff_head *xmitq)”h]”j/)�”}”(hŒ^int tipc_link_xmit(struct tipc_link *l, struct sk_buff_head *list, struct sk_buff_head *xmitq)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjöÑh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjòÑh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MêubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjòÑh²hh³jÒh´MêubjX)�”}”(hŒtipc_link_xmit”h]”j^)�”}”(hŒtipc_link_xmit”h]”hŒtipc_link_xmit”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÒubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjòÑh²hh³jÒh´Mêubj)�”}”(hŒL(struct tipc_link *l, struct sk_buff_head *list, struct sk_buff_head *xmitq)”h]”(j%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj3Òh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj/ÒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@Òh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj/Òubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjQÒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjNÒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jSÒŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÒsbŒc.tipc_link_xmit”†”asbuh1hhj/ÒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqÒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj/Òubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj/Òubj^)�”}”(hjçÉh]”hŒl”…”�”}”(hjŒÒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj/Òubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj+Òubj%)�”}”(hŒstruct sk_buff_head *list”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¤Òh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj ÒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±Òh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Òubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjÂÒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¿Òubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÄÒŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jmÒŒc.tipc_link_xmit”†”asbuh1hhj ÒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjàÒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Òubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjîÒh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj Òubj^)�”}”(hŒlist”h]”hŒlist”…”�”}”(hjûÒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj Òubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj+Òubj%)�”}”(hŒstruct sk_buff_head *xmitq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÓubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!Óh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÓubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj2Óh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj/Óubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j4ÓŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jmÒŒc.tipc_link_xmit”†”asbuh1hhjÓubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPÓh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÓubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj^Óh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÓubj^)�”}”(hŒxmitq”h]”hŒxmitq”…”�”}”(hjkÓh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÓubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj+Òubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjòÑh²hh³jÒh´Mêubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjîÑh²hh³jÒh´Mêubah}”(h]”jéÑah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÒh´MêhjëÑh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ0enqueue buffer list according to queue situation”h]”hŒ0enqueue buffer list according to queue situation”…”�”}”(hj•Óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mêhj’Óh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjëÑh²hh³jÒh´Mêubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j­Ój­j­Ój®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hXu**Parameters** ``struct tipc_link *l`` link to use ``struct sk_buff_head *list`` chain of buffers containing message ``struct sk_buff_head *xmitq`` returned list of packets to be sent by caller **Description** Consumes the buffer chain. Messages at TIPC_SYSTEM_IMPORTANCE are always accepted **Return** 0 if success, or errno: -ELINKCONG, -EMSGSIZE or -ENOBUFS”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj·Óh]”hŒ Parameters”…”�”}”(hj¹Óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjµÓubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mîhj±Óubj)�”}”(hhh]”(j)�”}”(hŒ$``struct tipc_link *l`` link to use ”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hjÖÓh]”hŒstruct tipc_link *l”…”�”}”(hjØÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÔÓubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MëhjÐÓubj')�”}”(hhh]”hï)�”}”(hŒ link to use”h]”hŒ link to use”…”�”}”(hjïÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jëÓh´MëhjìÓubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÐÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jëÓh´MëhjÍÓubj)�”}”(hŒB``struct sk_buff_head *list`` chain of buffers containing message ”h]”(j )�”}”(hŒ``struct sk_buff_head *list``”h]”j)�”}”(hjÔh]”hŒstruct sk_buff_head *list”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mìhj Ôubj')�”}”(hhh]”hï)�”}”(hŒ#chain of buffers containing message”h]”hŒ#chain of buffers containing message”…”�”}”(hj(Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j$Ôh´Mìhj%Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj Ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j$Ôh´MìhjÍÓubj)�”}”(hŒM``struct sk_buff_head *xmitq`` returned list of packets to be sent by caller ”h]”(j )�”}”(hŒ``struct sk_buff_head *xmitq``”h]”j)�”}”(hjHÔh]”hŒstruct sk_buff_head *xmitq”…”�”}”(hjJÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjFÔubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MíhjBÔubj')�”}”(hhh]”hï)�”}”(hŒ-returned list of packets to be sent by caller”h]”hŒ-returned list of packets to be sent by caller”…”�”}”(hjaÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j]Ôh´Míhj^Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjBÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j]Ôh´MíhjÍÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj±Óubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjƒÔh]”hŒ Description”…”�”}”(hj…Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj�Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mïhj±Óubhï)�”}”(hŒQConsumes the buffer chain. Messages at TIPC_SYSTEM_IMPORTANCE are always accepted”h]”hŒQConsumes the buffer chain. Messages at TIPC_SYSTEM_IMPORTANCE are always accepted”…”�”}”(hj™Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mîhj±Óubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjªÔh]”hŒReturn”…”�”}”(hj¬Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¨Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mñhj±Óubhï)�”}”(hŒ90 if success, or errno: -ELINKCONG, -EMSGSIZE or -ENOBUFS”h]”hŒ90 if success, or errno: -ELINKCONG, -EMSGSIZE or -ENOBUFS”…”�”}”(hjÀÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mñhj±Óubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ$link_retransmit_failure (C function)”Œc.link_retransmit_failure”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒPbool link_retransmit_failure (struct tipc_link *l, struct tipc_link *r, int *rc)”h]”j/)�”}”(hŒObool link_retransmit_failure(struct tipc_link *l, struct tipc_link *r, int *rc)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjïÔh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjëÔh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M£ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýÔh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjëÔh²hh³jüÔh´M£ubjX)�”}”(hŒlink_retransmit_failure”h]”j^)�”}”(hŒlink_retransmit_failure”h]”hŒlink_retransmit_failure”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj Õubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjëÔh²hh³jüÔh´M£ubj)�”}”(hŒ3(struct tipc_link *l, struct tipc_link *r, int *rc)”h]”(j%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj+Õh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj'ÕubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8Õh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj'Õubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjIÕh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjFÕubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jKÕŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÕsbŒc.link_retransmit_failure”†”asbuh1hhj'ÕubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjiÕh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj'Õubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjwÕh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj'Õubj^)�”}”(hjçÉh]”hŒl”…”�”}”(hj„Õh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj'Õubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj#Õubj%)�”}”(hŒstruct tipc_link *r”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjœÕh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj˜ÕubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©Õh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj˜Õubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjºÕh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj·Õubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¼ÕŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jeÕŒc.link_retransmit_failure”†”asbuh1hhj˜ÕubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØÕh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj˜Õubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjæÕh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj˜Õubj^)�”}”(hŒr”h]”hŒr”…”�”}”(hjóÕh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj˜Õubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj#Õubj%)�”}”(hŒint *rc”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj Öh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÖubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÖubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj(Öh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÖubj^)�”}”(hŒrc”h]”hŒrc”…”�”}”(hj5Öh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÖubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj#Õubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjëÔh²hh³jüÔh´M£ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjçÔh²hh³jüÔh´M£ubah}”(h]”jâÔah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jüÔh´M£hjäÔh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ#Detect repeated retransmit failures”h]”hŒ#Detect repeated retransmit failures”…”�”}”(hj_Öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M£hj\Öh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjäÔh²hh³jüÔh´M£ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jwÖj­jwÖj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hŒí**Parameters** ``struct tipc_link *l`` tipc link sender ``struct tipc_link *r`` tipc link receiver (= l in case of unicast) ``int *rc`` returned code **Return** true if the repeated retransmit failures happens, otherwise false”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj�Öh]”hŒ Parameters”…”�”}”(hjƒÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M§hj{Öubj)�”}”(hhh]”(j)�”}”(hŒ)``struct tipc_link *l`` tipc link sender ”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hj Öh]”hŒstruct tipc_link *l”…”�”}”(hj¢Öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjžÖubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M¤hjšÖubj')�”}”(hhh]”hï)�”}”(hŒtipc link sender”h]”hŒtipc link sender”…”�”}”(hj¹Öh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jµÖh´M¤hj¶Öubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjšÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jµÖh´M¤hj—Öubj)�”}”(hŒD``struct tipc_link *r`` tipc link receiver (= l in case of unicast) ”h]”(j )�”}”(hŒ``struct tipc_link *r``”h]”j)�”}”(hjÙÖh]”hŒstruct tipc_link *r”…”�”}”(hjÛÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj×Öubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M¥hjÓÖubj')�”}”(hhh]”hï)�”}”(hŒ+tipc link receiver (= l in case of unicast)”h]”hŒ+tipc link receiver (= l in case of unicast)”…”�”}”(hjòÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jîÖh´M¥hjïÖubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÓÖubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jîÖh´M¥hj—Öubj)�”}”(hŒ``int *rc`` returned code ”h]”(j )�”}”(hŒ ``int *rc``”h]”j)�”}”(hj×h]”hŒint *rc”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M¦hj ×ubj')�”}”(hhh]”hï)�”}”(hŒ returned code”h]”hŒ returned code”…”�”}”(hj+×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j'×h´M¦hj(×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj ×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j'×h´M¦hj—Öubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj{Öubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjM×h]”hŒReturn”…”�”}”(hjO×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjK×ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M¨hj{Öubhï)�”}”(hŒAtrue if the repeated retransmit failures happens, otherwise false”h]”hŒAtrue if the repeated retransmit failures happens, otherwise false”…”�”}”(hjc×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M¨hj{Öubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ"tipc_get_gap_ack_blks (C function)”Œc.tipc_get_gap_ack_blks”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒmu16 tipc_get_gap_ack_blks (struct tipc_gap_ack_blks **ga, struct tipc_link *l, struct tipc_msg *hdr, bool uc)”h]”j/)�”}”(hŒlu16 tipc_get_gap_ack_blks(struct tipc_gap_ack_blks **ga, struct tipc_link *l, struct tipc_msg *hdr, bool uc)”h]”(h)�”}”(hhh]”j^)�”}”(hŒu16”h]”hŒu16”…”�”}”(hj•×h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj’×ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j—׌modname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒtipc_get_gap_ack_blks”sbŒc.tipc_get_gap_ack_blks”†”asbuh1hhjŽ×h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M~ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·×h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŽ×h²hh³j¶×h´M~ubjX)�”}”(hŒtipc_get_gap_ack_blks”h]”j^)�”}”(hj³×h]”hŒtipc_get_gap_ack_blks”…”�”}”(hjÉ×h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÅ×ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjŽ×h²hh³j¶×h´M~ubj)�”}”(hŒS(struct tipc_gap_ack_blks **ga, struct tipc_link *l, struct tipc_msg *hdr, bool uc)”h]”(j%)�”}”(hŒstruct tipc_gap_ack_blks **ga”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjä×h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjà×ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñ×h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjà×ubh)�”}”(hhh]”j^)�”}”(hŒtipc_gap_ack_blks”h]”hŒtipc_gap_ack_blks”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÿ×ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jØŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j±×Œc.tipc_get_gap_ack_blks”†”asbuh1hhjà×ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Øh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjà×ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj.Øh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjà×ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj;Øh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjà×ubj^)�”}”(hŒga”h]”hŒga”…”�”}”(hjHØh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjà×ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÜ×ubj%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjaØh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj]ØubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnØh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj]Øubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj|Øubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j�ØŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j±×Œc.tipc_get_gap_ack_blks”†”asbuh1hhj]ØubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�Øh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj]Øubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj«Øh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj]Øubj^)�”}”(hjçÉh]”hŒl”…”�”}”(hj¸Øh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj]Øubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÜ×ubj%)�”}”(hŒstruct tipc_msg *hdr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÐØh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÌØubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÝØh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÌØubh)�”}”(hhh]”j^)�”}”(hŒtipc_msg”h]”hŒtipc_msg”…”�”}”(hjîØh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjëØubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jðØŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j±×Œc.tipc_get_gap_ack_blks”†”asbuh1hhjÌØubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Ùh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÌØubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÌØubj^)�”}”(hŒhdr”h]”hŒhdr”…”�”}”(hj'Ùh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÌØubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÜ×ubj%)�”}”(hŒbool uc”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hj@Ùh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj<ÙubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMÙh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj<Ùubj^)�”}”(hŒuc”h]”hŒuc”…”�”}”(hj[Ùh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj<Ùubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÜ×ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjŽ×h²hh³j¶×h´M~ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjŠ×h²hh³j¶×h´M~ubah}”(h]”j…×ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j¶×h´M~hj‡×h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ*get Gap ACK blocks from PROTOCOL/STATE_MSG”h]”hŒ*get Gap ACK blocks from PROTOCOL/STATE_MSG”…”�”}”(hj…Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M~hj‚Ùh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj‡×h²hh³j¶×h´M~ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j�Ùj­j�Ùj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hXA**Parameters** ``struct tipc_gap_ack_blks **ga`` returned pointer to the Gap ACK blocks if any ``struct tipc_link *l`` the tipc link ``struct tipc_msg *hdr`` the PROTOCOL/STATE_MSG header ``bool uc`` desired Gap ACK blocks type, i.e. unicast (= 1) or broadcast (= 0) **Return** the total Gap ACK blocks size”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj§Ùh]”hŒ Parameters”…”�”}”(hj©Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¥Ùubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M‚hj¡Ùubj)�”}”(hhh]”(j)�”}”(hŒP``struct tipc_gap_ack_blks **ga`` returned pointer to the Gap ACK blocks if any ”h]”(j )�”}”(hŒ!``struct tipc_gap_ack_blks **ga``”h]”j)�”}”(hjÆÙh]”hŒstruct tipc_gap_ack_blks **ga”…”�”}”(hjÈÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÄÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MhjÀÙubj')�”}”(hhh]”hï)�”}”(hŒ-returned pointer to the Gap ACK blocks if any”h]”hŒ-returned pointer to the Gap ACK blocks if any”…”�”}”(hjßÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÛÙh´MhjÜÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÀÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÛÙh´Mhj½Ùubj)�”}”(hŒ&``struct tipc_link *l`` the tipc link ”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hjÿÙh]”hŒstruct tipc_link *l”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjýÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M€hjùÙubj')�”}”(hhh]”hï)�”}”(hŒ the tipc link”h]”hŒ the tipc link”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÚh´M€hjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjùÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÚh´M€hj½Ùubj)�”}”(hŒ7``struct tipc_msg *hdr`` the PROTOCOL/STATE_MSG header ”h]”(j )�”}”(hŒ``struct tipc_msg *hdr``”h]”j)�”}”(hj8Úh]”hŒstruct tipc_msg *hdr”…”�”}”(hj:Úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6Úubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M�hj2Úubj')�”}”(hhh]”hï)�”}”(hŒthe PROTOCOL/STATE_MSG header”h]”hŒthe PROTOCOL/STATE_MSG header”…”�”}”(hjQÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jMÚh´M�hjNÚubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj2Úubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jMÚh´M�hj½Ùubj)�”}”(hŒO``bool uc`` desired Gap ACK blocks type, i.e. unicast (= 1) or broadcast (= 0) ”h]”(j )�”}”(hŒ ``bool uc``”h]”j)�”}”(hjqÚh]”hŒbool uc”…”�”}”(hjsÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjoÚubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M‚hjkÚubj')�”}”(hhh]”hï)�”}”(hŒBdesired Gap ACK blocks type, i.e. unicast (= 1) or broadcast (= 0)”h]”hŒBdesired Gap ACK blocks type, i.e. unicast (= 1) or broadcast (= 0)”…”�”}”(hjŠÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j†Úh´M‚hj‡Úubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjkÚubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j†Úh´M‚hj½Ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj¡Ùubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj¬Úh]”hŒReturn”…”�”}”(hj®Úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjªÚubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M„hj¡Ùubhï)�”}”(hŒthe total Gap ACK blocks size”h]”hŒthe total Gap ACK blocks size”…”�”}”(hjÂÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M„hj¡Ùubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ'tipc_link_failover_prepare (C function)”Œc.tipc_link_failover_prepare”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒhvoid tipc_link_failover_prepare (struct tipc_link *l, struct tipc_link *tnl, struct sk_buff_head *xmitq)”h]”j/)�”}”(hŒgvoid tipc_link_failover_prepare(struct tipc_link *l, struct tipc_link *tnl, struct sk_buff_head *xmitq)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjñÚh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjíÚh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M/ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjíÚh²hh³jÿÚh´M/ubjX)�”}”(hŒtipc_link_failover_prepare”h]”j^)�”}”(hŒtipc_link_failover_prepare”h]”hŒtipc_link_failover_prepare”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÛubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjíÚh²hh³jÿÚh´M/ubj)�”}”(hŒH(struct tipc_link *l, struct tipc_link *tnl, struct sk_buff_head *xmitq)”h]”(j%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj.Ûh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj*ÛubjG)�”}”(hŒ ”h]”•hŒ ”…”�”}”(hj;Ûh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj*Ûubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjLÛh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjIÛubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jNÛŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÛsbŒc.tipc_link_failover_prepare”†”asbuh1hhj*ÛubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjlÛh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj*Ûubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjzÛh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj*Ûubj^)�”}”(hjçÉh]”hŒl”…”�”}”(hj‡Ûh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj*Ûubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj&Ûubj%)�”}”(hŒstruct tipc_link *tnl”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjŸÛh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj›ÛubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬Ûh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj›Ûubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hj½Ûh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjºÛubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¿ÛŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jhÛŒc.tipc_link_failover_prepare”†”asbuh1hhj›ÛubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛÛh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj›Ûubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjéÛh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj›Ûubj^)�”}”(hŒtnl”h]”hŒtnl”…”�”}”(hjöÛh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj›Ûubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj&Ûubj%)�”}”(hŒstruct sk_buff_head *xmitq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj ÜubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Üubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj-Üh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj*Üubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j/ÜŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jhÛŒc.tipc_link_failover_prepare”†”asbuh1hhj ÜubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKÜh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Üubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjYÜh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj Üubj^)�”}”(hŒxmitq”h]”hŒxmitq”…”�”}”(hjfÜh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj Üubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj&Ûubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjíÚh²hh³jÿÚh´M/ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjéÚh²hh³jÿÚh´M/ubah}”(h]”jäÚah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÿÚh´M/hjæÚh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒprepare tnl for link failover”h]”hŒprepare tnl for link failover”…”�”}”(hj�Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M/hj�Üh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjæÚh²hh³jÿÚh´M/ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j¨Üj­j¨Üj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hX(**Parameters** ``struct tipc_link *l`` failover link ``struct tipc_link *tnl`` tunnel link ``struct sk_buff_head *xmitq`` queue for messages to be xmited **Description** This is a special version of the precursor - tipc_link_tnl_prepare(), see the tipc_node_link_failover() for details”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj²Üh]”hŒ Parameters”…”�”}”(hj´Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj°Üubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M3hj¬Üubj)�”}”(hhh]”(j)�”}”(hŒ&``struct tipc_link *l`` failover link ”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hjÑÜh]”hŒstruct tipc_link *l”…”�”}”(hjÓÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÏÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M4hjËÜubj')�”}”(hhh]”hï)�”}”(hŒ failover link”h]”hŒ failover link”…”�”}”(hjêÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jæÜh´M4hjçÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjËÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jæÜh´M4hjÈÜubj)�”}”(hŒ&``struct tipc_link *tnl`` tunnel link ”h]”(j )�”}”(hŒ``struct tipc_link *tnl``”h]”j)�”}”(hj Ýh]”hŒstruct tipc_link *tnl”…”�”}”(hj Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M5hjÝubj')�”}”(hhh]”hï)�”}”(hŒ tunnel link”h]”hŒ tunnel link”…”�”}”(hj#Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÝh´M5hj Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÝh´M5hjÈÜubj)�”}”(hŒ?``struct sk_buff_head *xmitq`` queue for messages to be xmited ”h]”(j )�”}”(hŒ``struct sk_buff_head *xmitq``”h]”j)�”}”(hjCÝh]”hŒstruct sk_buff_head *xmitq”…”�”}”(hjEÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjAÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M6hj=Ýubj')�”}”(hhh]”hï)�”}”(hŒqueue for messages to be xmited”h]”hŒqueue for messages to be xmited”…”�”}”(hj\Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jXÝh´M6hjYÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj=Ýubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jXÝh´M6hjÈÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj¬Üubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj~Ýh]”hŒ Description”…”�”}”(hj€Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj|Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M8hj¬Üubhï)�”}”(hŒsThis is a special version of the precursor - tipc_link_tnl_prepare(), see the tipc_node_link_failover() for details”h]”hŒsThis is a special version of the precursor - tipc_link_tnl_prepare(), see the tipc_node_link_failover() for details”…”�”}”(hj”Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M0hj¬Üubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ"tipc_link_reset_stats (C function)”Œc.tipc_link_reset_stats”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ0void tipc_link_reset_stats (struct tipc_link *l)”h]”j/)�”}”(hŒ/void tipc_link_reset_stats(struct tipc_link *l)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÃÝh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¿Ýh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mñ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒÝh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¿Ýh²hh³jÑÝh´Mñ ubjX)�”}”(hŒtipc_link_reset_stats”h]”j^)�”}”(hŒtipc_link_reset_stats”h]”hŒtipc_link_reset_stats”…”�”}”(hjäÝh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjàÝubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj¿Ýh²hh³jÑÝh´Mñ ubj)�”}”(hŒ(struct tipc_link *l)”h]”j%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjüÝubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Þh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjüÝubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÞubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j ÞŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjæÝsbŒc.tipc_link_reset_stats”†”asbuh1hhjüÝubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>Þh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjüÝubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjLÞh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjüÝubj^)�”}”(hjçÉh]”hŒl”…”�”}”(hjYÞh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjüÝubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjøÝubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj¿Ýh²hh³jÑÝh´Mñ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj»Ýh²hh³jÑÝh´Mñ ubah}”(h]”j¶Ýah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÑÝh´Mñ hj¸Ýh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒreset link statistics”h]”hŒreset link statistics”…”�”}”(hj‚Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mñ hjÞh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¸Ýh²hh³jÑÝh´Mñ ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jšÞj­jšÞj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hŒ9**Parameters** ``struct tipc_link *l`` pointer to link”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj¤Þh]”hŒ Parameters”…”�”}”(hj¦Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¢Þubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mõ hjžÞubj)�”}”(hhh]”j)�”}”(hŒ'``struct tipc_link *l`` pointer to link”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hjÃÞh]”hŒstruct tipc_link *l”…”�”}”(hjÅÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÁÞubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´M÷ hj½Þubj')�”}”(hhh]”hï)�”}”(hŒpointer to link”h]”hŒpointer to link”…”�”}”(hjÜÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´Mò hjÙÞubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj½Þubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jØÞh´M÷ hjºÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjžÞubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_link_dump (C function)”Œc.tipc_link_dump”hNt”auh1jhj´©h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ@int tipc_link_dump (struct tipc_link *l, u16 dqueues, char *buf)”h]”j/)�”}”(hŒ?int tipc_link_dump(struct tipc_link *l, u16 dqueues, char *buf)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjßh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´ME ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,ßh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjßh²hh³j+ßh´ME ubjX)�”}”(hŒtipc_link_dump”h]”j^)�”}”(hŒtipc_link_dump”h]”hŒtipc_link_dump”…”�”}”(hj>ßh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj:ßubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjßh²hh³j+ßh´ME ubj)�”}”(hŒ-(struct tipc_link *l, u16 dqueues, char *buf)”h]”(j%)�”}”(hŒstruct tipc_link *l”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjZßh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjVßubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgßh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjVßubh)�”}”(hhh]”j^)�”}”(hŒ tipc_link”h]”hŒ tipc_link”…”�”}”(hjxßh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjußubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jzߌmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj@ßsbŒc.tipc_link_dump”†”asbuh1hhjVßubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜ßh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjVßubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¦ßh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjVßubj^)�”}”(hjçÉh]”hŒl”…”�”}”(hj³ßh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjVßubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjRßubj%)�”}”(hŒ u16 dqueues”h]”(h)�”}”(hhh]”j^)�”}”(hŒu16”h]”hŒu16”…”�”}”(hjÎßh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjËßubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÐߌmodname”NŒ classname”NjÙjÜ)�”}”jß]”j”ߌc.tipc_link_dump”†”asbuh1hhjÇßubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìßh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÇßubj^)�”}”(hŒdqueues”h]”hŒdqueues”…”�”}”(hjúßh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÇßubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjRßubj%)�”}”(hŒ char *buf”h]”(jG)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjàubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!àh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjàubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj/àh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjàubj^)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hj<àh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjàubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjRßubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjßh²hh³j+ßh´ME ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjßh²hh³j+ßh´ME ubah}”(h]”jßah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j+ßh´ME hjßh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒdump TIPC link data”h]”hŒdump TIPC link data”…”�”}”(hjfàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´ME hjcàh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjßh²hh³j+ßh´ME ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j~àj­j~àj®‰j¯‰j°‰uh1j#h²hhj´©h³Nh´Nubj²)�”}”(hX**Parameters** ``struct tipc_link *l`` tipc link to be dumped ``u16 dqueues`` bitmask to decide if any link queue to be dumped? - TIPC_DUMP_NONE: don't dump link queues - TIPC_DUMP_TRANSMQ: dump link transmq queue - TIPC_DUMP_BACKLOGQ: dump link backlog queue - TIPC_DUMP_DEFERDQ: dump link deferd queue - TIPC_DUMP_INPUTQ: dump link input queue - TIPC_DUMP_WAKEUP: dump link wakeup queue - TIPC_DUMP_ALL: dump all the link queues above ``char *buf`` returned buffer of dump data in format”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjˆàh]”hŒ Parameters”…”�”}”(hjŠàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj†àubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MI hj‚àubj)�”}”(hhh]”(j)�”}”(hŒ/``struct tipc_link *l`` tipc link to be dumped ”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hj§àh]”hŒstruct tipc_link *l”…”�”}”(hj©àh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¥àubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MF hj¡àubj')�”}”(hhh]”hï)�”}”(hŒtipc link to be dumped”h]”hŒtipc link to be dumped”…”�”}”(hjÀàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¼àh´MF hj½àubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¡àubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¼àh´MF hjžàubj)�”}”(hXw``u16 dqueues`` bitmask to decide if any link queue to be dumped? - TIPC_DUMP_NONE: don't dump link queues - TIPC_DUMP_TRANSMQ: dump link transmq queue - TIPC_DUMP_BACKLOGQ: dump link backlog queue - TIPC_DUMP_DEFERDQ: dump link deferd queue - TIPC_DUMP_INPUTQ: dump link input queue - TIPC_DUMP_WAKEUP: dump link wakeup queue - TIPC_DUMP_ALL: dump all the link queues above ”h]”(j )�”}”(hŒ``u16 dqueues``”h]”j)�”}”(hjààh]”hŒ u16 dqueues”…”�”}”(hjâàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÞàubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MN hjÚàubj')�”}”(hhh]”hï)�”}”(hXfbitmask to decide if any link queue to be dumped? - TIPC_DUMP_NONE: don't dump link queues - TIPC_DUMP_TRANSMQ: dump link transmq queue - TIPC_DUMP_BACKLOGQ: dump link backlog queue - TIPC_DUMP_DEFERDQ: dump link deferd queue - TIPC_DUMP_INPUTQ: dump link input queue - TIPC_DUMP_WAKEUP: dump link wakeup queue - TIPC_DUMP_ALL: dump all the link queues above”h]”hXhbitmask to decide if any link queue to be dumped? - TIPC_DUMP_NONE: don’t dump link queues - TIPC_DUMP_TRANSMQ: dump link transmq queue - TIPC_DUMP_BACKLOGQ: dump link backlog queue - TIPC_DUMP_DEFERDQ: dump link deferd queue - TIPC_DUMP_INPUTQ: dump link input queue - TIPC_DUMP_WAKEUP: dump link wakeup queue - TIPC_DUMP_ALL: dump all the link queues above”…”�”}”(hjùàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MG hjöàubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÚàubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jõàh´MN hjžàubj)�”}”(hŒ4``char *buf`` returned buffer of dump data in format”h]”(j )�”}”(hŒ ``char *buf``”h]”j)�”}”(hjáh]”hŒ char *buf”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjáubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MP hjáubj')�”}”(hhh]”hï)�”}”(hŒ&returned buffer of dump data in format”h]”hŒ&returned buffer of dump data in format”…”�”}”(hj3áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:169: ./net/tipc/link.c”h´MO hj0áubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjáubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j/áh´MP hjžàubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj‚àubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj´©h²hh³Nh´Nubeh}”(h]”Œtipc-link-interfaces”ah ]”h"]”Œtipc link interfaces”ah$]”h&]”uh1hÈhjâh²hh³hÇh´K§ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTIPC msg Interfaces”h]”hŒTIPC msg Interfaces”…”�”}”(hjfáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjcáh²hh³hÇh´K­ubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_buf_acquire (C function)”Œc.tipc_buf_acquire”hNt”auh1jhjcáh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ7struct sk_buff * tipc_buf_acquire (u32 size, gfp_t gfp)”h]”j/)�”}”(hŒ5struct sk_buff *tipc_buf_acquire(u32 size, gfp_t gfp)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj�áh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj‰áh²hh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´K:ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›áh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‰áh²hh³jšáh´K:ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj¬áh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj©áubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j®áŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒtipc_buf_acquire”sbŒc.tipc_buf_acquire”†”asbuh1hhj‰áh²hh³jšáh´K:ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍáh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‰áh²hh³jšáh´K:ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÛáh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj‰áh²hh³jšáh´K:ubjX)�”}”(hŒtipc_buf_acquire”h]”j^)�”}”(hjÊáh]”hŒtipc_buf_acquire”…”�”}”(hjìáh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjèáubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj‰áh²hh³jšáh´K:ubj)�”}”(hŒ(u32 size, gfp_t gfp)”h]”(j%)�”}”(hŒu32 size”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj âh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjâubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j âŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÈáŒc.tipc_buf_acquire”†”asbuh1hhjâubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(âh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjâubj^)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj6âh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjâubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÿáubj%)�”}”(hŒ gfp_t gfp”h]”(h)�”}”(hhh]”j^)�”}”(hŒgfp_t”h]”hŒgfp_t”…”�”}”(hjRâh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjOâubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jTâŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÈáŒc.tipc_buf_acquire”†”asbuh1hhjKâubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjpâh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjKâubj^)�”}”(hŒgfp”h]”hŒgfp”…”�”}”(hj~âh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjKâubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÿáubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj‰áh²hh³jšáh´K:ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj…áh²hh³jšáh´K:ubah}”(h]”j€áah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jšáh´K:hj‚áh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒcreates a TIPC message buffer”h]”hŒcreates a TIPC message buffer”…”�”}”(hj¨âh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´K:hj¥âh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj‚áh²hh³jšáh´K:ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÀâj­jÀâj®‰j¯‰j°‰uh1j#h²hhjcáh³Nh´Nubj²)�”}”(hXC**Parameters** ``u32 size`` message size (including TIPC header) ``gfp_t gfp`` memory allocation flags **Return** a new buffer with data pointers set to the specified size. **NOTE** Headroom is reserved to allow prepending of a data link header. There may also be unrequested tailroom present at the buffer's end.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÊâh]”hŒ Parameters”…”�”}”(hjÌâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÈâubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´K>hjÄâubj)�”}”(hhh]”(j)�”}”(hŒ2``u32 size`` message size (including TIPC header) ”h]”(j )�”}”(hŒ ``u32 size``”h]”j)�”}”(hjéâh]”hŒu32 size”…”�”}”(hjëâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjçâubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´K;hjãâubj')�”}”(hhh]”hï)�”}”(hŒ$message size (including TIPC header)”h]”hŒ$message size (including TIPC header)”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jþâh´K;hjÿâubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjãâubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jþâh´K;hjàâubj)�”}”(hŒ&``gfp_t gfp`` memory allocation flags ”h]”(j )�”}”(hŒ ``gfp_t gfp``”h]”j)�”}”(hj"ãh]”hŒ gfp_t gfp”…”�”}”(hj$ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ãubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´KhjÄâubhï)�”}”(hŒ:a new buffer with data pointers set to the specified size.”h]”hŒ:a new buffer with data pointers set to the specified size.”…”�”}”(hjsãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´K>hjÄâubhï)�”}”(hŒ**NOTE**”h]”j¼)�”}”(hj„ãh]”hŒNOTE”…”�”}”(hj†ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj‚ãubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´K@hjÄâubhï)�”}”(hŒƒHeadroom is reserved to allow prepending of a data link header. There may also be unrequested tailroom present at the buffer's end.”h]”hŒ…Headroom is reserved to allow prepending of a data link header. There may also be unrequested tailroom present at the buffer’s end.”…”�”}”(hjšãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´K@hjÄâubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjcáh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_msg_append (C function)”Œc.tipc_msg_append”hNt”auh1jhjcáh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒjint tipc_msg_append (struct tipc_msg *_hdr, struct msghdr *m, int dlen, int mss, struct sk_buff_head *txq)”h]”j/)�”}”(hŒiint tipc_msg_append(struct tipc_msg *_hdr, struct msghdr *m, int dlen, int mss, struct sk_buff_head *txq)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÉãh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÅãh²hh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´KÐubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØãh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÅãh²hh³j×ãh´KÐubjX)�”}”(hŒtipc_msg_append”h]”j^)�”}”(hŒtipc_msg_append”h]”hŒtipc_msg_append”…”�”}”(hjêãh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjæãubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÅãh²hh³j×ãh´KÐubj)�”}”(hŒV(struct tipc_msg *_hdr, struct msghdr *m, int dlen, int mss, struct sk_buff_head *txq)”h]”(j%)�”}”(hŒstruct tipc_msg *_hdr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjäubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjäubh)�”}”(hhh]”j^)�”}”(hŒtipc_msg”h]”hŒtipc_msg”…”�”}”(hj$äh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj!äubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j&äŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjìãsbŒc.tipc_msg_append”†”asbuh1hhjäubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDäh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjäubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjRäh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjäubj^)�”}”(hŒ_hdr”h]”hŒ_hdr”…”�”}”(hj_äh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjäubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjþãubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjxäh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjtäubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…äh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjtäubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hj–äh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj“äubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j˜äŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j@äŒc.tipc_msg_append”†”asbuh1hhjtäubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´äh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjtäubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÂäh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjtäubj^)�”}”(hŒm”h]”hŒm”…”�”}”(hjÏäh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjtäubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjþãubj%)�”}”(hŒint dlen”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjèäh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjääubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöäh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjääubj^)�”}”(hŒdlen”h]”hŒdlen”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjääubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjþãubj%)�”}”(hŒint mss”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjåubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+åh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjåubj^)�”}”(hŒmss”h]”hŒmss”…”�”}”(hj9åh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjåubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjþãubj%)�”}”(hŒstruct sk_buff_head *txq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjRåh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjNåubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_åh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjNåubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjpåh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjmåubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jråŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j@äŒc.tipc_msg_append”†”asbuh1hhjNåubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽåh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjNåubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjœåh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjNåubj^)�”}”(hŒtxq”h]”hŒtxq”…”�”}”(hj©åh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjNåubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjþãubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÅãh²hh³j×ãh´KÐubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÁãh²hh³j×ãh´KÐubah}”(h]”j¼ãah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j×ãh´KÐhj¾ãh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ/Append data to tail of an existing buffer queue”h]”hŒ/Append data to tail of an existing buffer queue”…”�”}”(hjÓåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´KÐhjÐåh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¾ãh²hh³j×ãh´KÐubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jëåj­jëåj®‰j¯‰j°‰uh1j#h²hhjcáh³Nh´Nubj²)�”}”(hX5**Parameters** ``struct tipc_msg *_hdr`` header to be used ``struct msghdr *m`` the data to be appended ``int dlen`` size of data to be appended ``int mss`` max allowable size of buffer ``struct sk_buff_head *txq`` queue to append to **Return** the number of 1k blocks appended or errno value”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjõåh]”hŒ Parameters”…”�”}”(hj÷åh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjóåubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´KÔhjïåubj)�”}”(hhh]”(j)�”}”(hŒ,``struct tipc_msg *_hdr`` header to be used ”h]”(j )�”}”(hŒ``struct tipc_msg *_hdr``”h]”j)�”}”(hjæh]”hŒstruct tipc_msg *_hdr”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjæubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´KÑhjæubj')�”}”(hhh]”hï)�”}”(hŒheader to be used”h]”hŒheader to be used”…”�”}”(hj-æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j)æh´KÑhj*æubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjæubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j)æh´KÑhj æubj)�”}”(hŒ-``struct msghdr *m`` the data to be appended ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hjMæh]”hŒstruct msghdr *m”…”�”}”(hjOæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjKæubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´KÒhjGæubj')�”}”(hhh]”hï)�”}”(hŒthe data to be appended”h]”hŒthe data to be appended”…”�”}”(hjfæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jbæh´KÒhjcæubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjGæubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jbæh´KÒhj æubj)�”}”(hŒ)``int dlen`` size of data to be appended ”h]”(j )�”}”(hŒ ``int dlen``”h]”j)�”}”(hj†æh]”hŒint dlen”…”�”}”(hjˆæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj„æubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´KÔhj€æubj')�”}”(hhh]”hï)�”}”(hŒsize of data to be appended”h]”hŒsize of data to be appended”…”�”}”(hjŸæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j›æh´KÔhjœæubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj€æubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j›æh´KÔhj æubj)�”}”(hŒ)``int mss`` max allowable size of buffer ”h]”(j )�”}”(hŒ ``int mss``”h]”j)�”}”(hj¿æh]”hŒint mss”…”�”}”(hjÁæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj½æubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´KÓhj¹æubj')�”}”(hhh]”hï)�”}”(hŒmax allowable size of buffer”h]”hŒmax allowable size of buffer”…”�”}”(hjØæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÔæh´KÓhjÕæubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¹æubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÔæh´KÓhj æubj)�”}”(hŒ0``struct sk_buff_head *txq`` queue to append to ”h]”(j )�”}”(hŒ``struct sk_buff_head *txq``”h]”j)�”}”(hjøæh]”hŒstruct sk_buff_head *txq”…”�”}”(hjúæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjöæubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´KÕhjòæubj')�”}”(hhh]”hï)�”}”(hŒqueue to append to”h]”hŒqueue to append to”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j çh´KÕhjçubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjòæubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j çh´KÕhj æubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjïåubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj3çh]”hŒReturn”…”�”}”(hj5çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj1çubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´K×hjïåubhï)�”}”(hŒ/the number of 1k blocks appended or errno value”h]”hŒ/the number of 1k blocks appended or errno value”…”�”}”(hjIçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´K×hjïåubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjcáh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_msg_fragment (C function)”Œc.tipc_msg_fragment”hNt”auh1jhjcáh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒoint tipc_msg_fragment (struct sk_buff *skb, const struct tipc_msg *hdr, int pktmax, struct sk_buff_head *frags)”h]”j/)�”}”(hŒnint tipc_msg_fragment(struct sk_buff *skb, const struct tipc_msg *hdr, int pktmax, struct sk_buff_head *frags)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjxçh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjtçh²hh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M8ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡çh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjtçh²hh³j†çh´M8ubjX)�”}”(hŒtipc_msg_fragment”h]”j^)�”}”(hŒtipc_msg_fragment”h]”hŒtipc_msg_fragment”…”�”}”(hj™çh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj•çubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjtçh²hh³j†çh´M8ubj)�”}”(hŒY(struct sk_buff *skb, const struct tipc_msg *hdr, int pktmax, struct sk_buff_head *frags)”h]”(j%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjµçh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj±çubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂçh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj±çubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjÓçh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÐçubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÕçŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj›çsbŒc.tipc_msg_fragment”†”asbuh1hhj±çubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóçh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj±çubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj±çubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj±çubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj­çubj%)�”}”(hŒconst struct tipc_msg *hdr”h]”(j5)�”}”(hj,h]”hŒconst”…”�”}”(hj'èh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj#èubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4èh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj#èubj5)�”}”(hj8h]”hŒstruct”…”�”}”(hjBèh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj#èubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOèh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj#èubh)�”}”(hhh]”j^)�”}”(hŒtipc_msg”h]”hŒtipc_msg”…”�”}”(hj`èh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj]èubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jbèŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jïçŒc.tipc_msg_fragment”†”asbuh1hhj#èubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~èh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj#èubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjŒèh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj#èubj^)�”}”(hŒhdr”h]”hŒhdr”…”�”}”(hj™èh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj#èubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj­çubj%)�”}”(hŒ int pktmax”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj²èh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj®èubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀèh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj®èubj^)�”}”(hŒpktmax”h]”hŒpktmax”…”�”}”(hjÎèh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj®èubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj­çubj%)�”}”(hŒstruct sk_buff_head *frags”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjçèh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjãèubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjôèh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjãèubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjéubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jéŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jïçŒc.tipc_msg_fragment”†”asbuh1hhjãèubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#éh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjãèubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj1éh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjãèubj^)�”}”(hŒfrags”h]”hŒfrags”…”�”}”(hj>éh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjãèubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj­çubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjtçh²hh³j†çh´M8ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjpçh²hh³j†çh´M8ubah}”(h]”jkçah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j†çh´M8hjmçh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ*build a fragment skb list for TIPC message”h]”hŒ*build a fragment skb list for TIPC message”…”�”}”(hjhéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M8hjeéh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjmçh²hh³j†çh´M8ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j€éj­j€éj®‰j¯‰j°‰uh1j#h²hhjcáh³Nh´Nubj²)�”}”(hX^**Parameters** ``struct sk_buff *skb`` TIPC message skb ``const struct tipc_msg *hdr`` internal msg header to be put on the top of the fragments ``int pktmax`` max size of a fragment incl. the header ``struct sk_buff_head *frags`` returned fragment skb list **Return** 0 if the fragmentation is successful, otherwise: -EINVAL or -ENOMEM”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjŠéh]”hŒ Parameters”…”�”}”(hjŒéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjˆéubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M<hj„éubj)�”}”(hhh]”(j)�”}”(hŒ)``struct sk_buff *skb`` TIPC message skb ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hj©éh]”hŒstruct sk_buff *skb”…”�”}”(hj«éh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj§éubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M:hj£éubj')�”}”(hhh]”hï)�”}”(hŒTIPC message skb”h]”hŒTIPC message skb”…”�”}”(hjÂéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¾éh´M:hj¿éubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj£éubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¾éh´M:hj éubj)�”}”(hŒY``const struct tipc_msg *hdr`` internal msg header to be put on the top of the fragments ”h]”(j )�”}”(hŒ``const struct tipc_msg *hdr``”h]”j)�”}”(hjâéh]”hŒconst struct tipc_msg *hdr”…”�”}”(hjäéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjàéubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M;hjÜéubj')�”}”(hhh]”hï)�”}”(hŒ9internal msg header to be put on the top of the fragments”h]”hŒ9internal msg header to be put on the top of the fragments”…”�”}”(hjûéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j÷éh´M;hjøéubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÜéubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j÷éh´M;hj éubj)�”}”(hŒ7``int pktmax`` max size of a fragment incl. the header ”h]”(j )�”}”(hŒ``int pktmax``”h]”j)�”}”(hjêh]”hŒ int pktmax”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjêubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M<hjêubj')�”}”(hhh]”hï)�”}”(hŒ'max size of a fragment incl. the header”h]”hŒ'max size of a fragment incl. the header”…”�”}”(hj4êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j0êh´M<hj1êubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjêubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j0êh´M<hj éubj)�”}”(hŒ:``struct sk_buff_head *frags`` returned fragment skb list ”h]”(j )�”}”(hŒ``struct sk_buff_head *frags``”h]”j)�”}”(hjTêh]”hŒstruct sk_buff_head *frags”…”�”}”(hjVêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjRêubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M=hjNêubj')�”}”(hhh]”hï)�”}”(hŒreturned fragment skb list”h]”hŒreturned fragment skb list”…”�”}”(hjmêh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jiêh´M=hjjêubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjNêubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jiêh´M=hj éubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj„éubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj�êh]”hŒReturn”…”�”}”(hj‘êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj�êubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M?hj„éubhï)�”}”(hŒC0 if the fragmentation is successful, otherwise: -EINVAL or -ENOMEM”h]”hŒC0 if the fragmentation is successful, otherwise: -EINVAL or -ENOMEM”…”�”}”(hj¥êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M?hj„éubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjcáh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_msg_build (C function)”Œc.tipc_msg_build”hNt”auh1jhjcáh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒxint tipc_msg_build (struct tipc_msg *mhdr, struct msghdr *m, int offset, int dsz, int pktmax, struct sk_buff_head *list)”h]”j/)�”}”(hŒwint tipc_msg_build(struct tipc_msg *mhdr, struct msghdr *m, int offset, int dsz, int pktmax, struct sk_buff_head *list)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÔêh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÐêh²hh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MsubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãêh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÐêh²hh³jâêh´MsubjX)�”}”(hŒtipc_msg_build”h]”j^)�”}”(hŒtipc_msg_build”h]”hŒtipc_msg_build”…”�”}”(hjõêh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjñêubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÐêh²hh³jâêh´Msubj)�”}”(hŒe(struct tipc_msg *mhdr, struct msghdr *m, int offset, int dsz, int pktmax, struct sk_buff_head *list)”h]”(j%)�”}”(hŒstruct tipc_msg *mhdr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj ëubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj ëubh)�”}”(hhh]”j^)�”}”(hŒtipc_msg”h]”hŒtipc_msg”…”�”}”(hj/ëh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj,ëubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j1ëŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj÷êsbŒc.tipc_msg_build”†”asbuh1hhj ëubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOëh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj ëubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj]ëh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj ëubj^)�”}”(hŒmhdr”h]”hŒmhdr”…”�”}”(hjjëh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj ëubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjƒëh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjëubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�ëh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjëubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hj¡ëh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjžëubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j£ëŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jKëŒc.tipc_msg_build”†”asbuh1hhjëubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿ëh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjëubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÍëh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjëubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hjÚëh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj ëubj%)�”}”(hŒ int offset”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjòëh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjîëubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjîëubj^)�”}”(hŒoffset”h]”hŒoffset”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjîëubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj ëubj%)�”}”(hŒint dsz”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj'ìh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj#ìubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5ìh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj#ìubj^)�”}”(hŒdsz”h]”hŒdsz”…”�”}”(hjCìh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj#ìubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj ëubj%)�”}”(hŒ int pktmax”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj\ìh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjXìubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjìh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjXìubj^)�”}”(hŒpktmax”h]”hŒpktmax”…”�”}”(hjxìh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjXìubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj ëubj%)�”}”(hŒstruct sk_buff_head *list”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj‘ìh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj�ìubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžìh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj�ìubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj¯ìh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¬ìubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j±ìŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jKëŒc.tipc_msg_build”†”asbuh1hhj�ìubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍìh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj�ìubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÛìh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj�ìubj^)�”}”(hŒlist”h]”hŒlist”…”�”}”(hjèìh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�ìubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj ëubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÐêh²hh³jâêh´Msubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÌêh²hh³jâêh´Msubah}”(h]”jÇêah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jâêh´MshjÉêh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ8create buffer chain containing specified header and data”h]”hŒ8create buffer chain containing specified header and data”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mshjíh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÉêh²hh³jâêh´Msubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j*íj­j*íj®‰j¯‰j°‰uh1j#h²hhjcáh³Nh´Nubj²)�”}”(hX%**Parameters** ``struct tipc_msg *mhdr`` Message header, to be prepended to data ``struct msghdr *m`` User message ``int offset`` buffer offset for fragmented messages (FIXME) ``int dsz`` Total length of user data ``int pktmax`` Max packet size that can be used ``struct sk_buff_head *list`` Buffer or chain of buffers to be returned to caller **Description** Note that the recursive call we are making here is safe, since it can logically go only one further level down. **Return** message data size or errno: -ENOMEM, -EFAULT”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj4íh]”hŒ Parameters”…”�”}”(hj6íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj2íubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mwhj.íubj)�”}”(hhh]”(j)�”}”(hŒB``struct tipc_msg *mhdr`` Message header, to be prepended to data ”h]”(j )�”}”(hŒ``struct tipc_msg *mhdr``”h]”j)�”}”(hjSíh]”hŒstruct tipc_msg *mhdr”…”�”}”(hjUíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjQíubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MthjMíubj')�”}”(hhh]”hï)�”}”(hŒ'Message header, to be prepended to data”h]”hŒ'Message header, to be prepended to data”…”�”}”(hjlíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jhíh´Mthjiíubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjMíubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jhíh´MthjJíubj)�”}”(hŒ"``struct msghdr *m`` User message ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hjŒíh]”hŒstruct msghdr *m”…”�”}”(hjŽíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠíubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Muhj†íubj')�”}”(hhh]”hï)�”}”(hŒ User message”h]”hŒ User message”…”�”}”(hj¥íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¡íh´Muhj¢íubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj†íubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¡íh´MuhjJíubj)�”}”(hŒ=``int offset`` buffer offset for fragmented messages (FIXME) ”h]”(j )�”}”(hŒ``int offset``”h]”j)�”}”(hjÅíh]”hŒ int offset”…”�”}”(hjÇíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÃíubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mvhj¿íubj')�”}”(hhh]”hï)�”}”(hŒ-buffer offset for fragmented messages (FIXME)”h]”hŒ-buffer offset for fragmented messages (FIXME)”…”�”}”(hjÞíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÚíh´MvhjÛíubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¿íubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÚíh´MvhjJíubj)�”}”(hŒ&``int dsz`` Total length of user data ”h]”(j )�”}”(hŒ ``int dsz``”h]”j)�”}”(hjþíh]”hŒint dsz”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjüíubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mwhjøíubj')�”}”(hhh]”hï)�”}”(hŒTotal length of user data”h]”hŒTotal length of user data”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jîh´Mwhjîubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjøíubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jîh´MwhjJíubj)�”}”(hŒ0``int pktmax`` Max packet size that can be used ”h]”(j )�”}”(hŒ``int pktmax``”h]”j)�”}”(hj7îh]”hŒ int pktmax”…”�”}”(hj9îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5îubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mxhj1îubj')�”}”(hhh]”hï)�”}”(hŒ Max packet size that can be used”h]”hŒ Max packet size that can be used”…”�”}”(hjPîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jLîh´MxhjMîubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj1îubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jLîh´MxhjJíubj)�”}”(hŒR``struct sk_buff_head *list`` Buffer or chain of buffers to be returned to caller ”h]”(j )�”}”(hŒ``struct sk_buff_head *list``”h]”j)�”}”(hjpîh]”hŒstruct sk_buff_head *list”…”�”}”(hjrîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjnîubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Myhjjîubj')�”}”(hhh]”hï)�”}”(hŒ3Buffer or chain of buffers to be returned to caller”h]”hŒ3Buffer or chain of buffers to be returned to caller”…”�”}”(hj‰îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j…îh´Myhj†îubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j…îh´MyhjJíubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj.íubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj«îh]”hŒ Description”…”�”}”(hj­îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj©îubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M{hj.íubhï)�”}”(hŒoNote that the recursive call we are making here is safe, since it can logically go only one further level down.”h]”hŒoNote that the recursive call we are making here is safe, since it can logically go only one further level down.”…”�”}”(hjÁîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mzhj.íubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjÒîh]”hŒReturn”…”�”}”(hjÔîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÐîubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M}hj.íubhï)�”}”(hŒ,message data size or errno: -ENOMEM, -EFAULT”h]”hŒ,message data size or errno: -ENOMEM, -EFAULT”…”�”}”(hjèîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M~hj.íubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjcáh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_msg_bundle (C function)”Œc.tipc_msg_bundle”hNt”auh1jhjcáh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒJbool tipc_msg_bundle (struct sk_buff *bskb, struct tipc_msg *msg, u32 max)”h]”j/)�”}”(hŒIbool tipc_msg_bundle(struct sk_buff *bskb, struct tipc_msg *msg, u32 max)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjïh²hh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MéubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj%ïh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjïh²hh³j$ïh´MéubjX)�”}”(hŒtipc_msg_bundle”h]”j^)�”}”(hŒtipc_msg_bundle”h]”hŒtipc_msg_bundle”…”�”}”(hj7ïh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj3ïubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjïh²hh³j$ïh´Méubj)�”}”(hŒ5(struct sk_buff *bskb, struct tipc_msg *msg, u32 max)”h]”(j%)�”}”(hŒstruct sk_buff *bskb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjSïh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjOïubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`ïh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjOïubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjqïh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjnïubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jsïŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj9ïsbŒc.tipc_msg_bundle”†”asbuh1hhjOïubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘ïh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjOïubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjŸïh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjOïubj^)�”}”(hŒbskb”h]”hŒbskb”…”�”}”(hj¬ïh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjOïubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjKïubj%)�”}”(hŒstruct tipc_msg *msg”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÅïh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÁïubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒïh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÁïubh)�”}”(hhh]”j^)�”}”(hŒtipc_msg”h]”hŒtipc_msg”…”�”}”(hjãïh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjàïubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jåïŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j�ïŒc.tipc_msg_bundle”†”asbuh1hhjÁïubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÁïubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÁïubj^)�”}”(hŒmsg”h]”hŒmsg”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÁïubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjKïubj%)�”}”(hŒu32 max”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj8ðh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj5ðubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j:ðŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j�ïŒc.tipc_msg_bundle”†”asbuh1hhj1ðubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjVðh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj1ðubj^)�”}”(hŒmax”h]”hŒmax”…”�”}”(hjdðh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj1ðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjKïubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjïh²hh³j$ïh´Méubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjïh²hh³j$ïh´Méubah}”(h]”j ïah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j$ïh´Méhj ïh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ6Append contents of a buffer to tail of an existing one”h]”hŒ6Append contents of a buffer to tail of an existing one”…”�”}”(hjŽðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Méhj‹ðh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj ïh²hh³j$ïh´Méubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j¦ðj­j¦ðj®‰j¯‰j°‰uh1j#h²hhjcáh³Nh´Nubj²)�”}”(hŒú**Parameters** ``struct sk_buff *bskb`` the bundle buffer to append to ``struct tipc_msg *msg`` message to be appended ``u32 max`` max allowable size for the bundle buffer **Return** "true" if bundling has been performed, otherwise "false"”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj°ðh]”hŒ Parameters”…”�”}”(hj²ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj®ðubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Míhjªðubj)�”}”(hhh]”(j)�”}”(hŒ8``struct sk_buff *bskb`` the bundle buffer to append to ”h]”(j )�”}”(hŒ``struct sk_buff *bskb``”h]”j)�”}”(hjÏðh]”hŒstruct sk_buff *bskb”…”�”}”(hjÑðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÍðubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MêhjÉðubj')�”}”(hhh]”hï)�”}”(hŒthe bundle buffer to append to”h]”hŒthe bundle buffer to append to”…”�”}”(hjèðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jäðh´Mêhjåðubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÉðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jäðh´MêhjÆðubj)�”}”(hŒ0``struct tipc_msg *msg`` message to be appended ”h]”(j )�”}”(hŒ``struct tipc_msg *msg``”h]”j)�”}”(hjñh]”hŒstruct tipc_msg *msg”…”�”}”(hj ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mëhjñubj')�”}”(hhh]”hï)�”}”(hŒmessage to be appended”h]”hŒmessage to be appended”…”�”}”(hj!ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jñh´Mëhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jñh´MëhjÆðubj)�”}”(hŒ5``u32 max`` max allowable size for the bundle buffer ”h]”(j )�”}”(hŒ ``u32 max``”h]”j)�”}”(hjAñh]”hŒu32 max”…”�”}”(hjCñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj?ñubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mìhj;ñubj')�”}”(hhh]”hï)�”}”(hŒ(max allowable size for the bundle buffer”h]”hŒ(max allowable size for the bundle buffer”…”�”}”(hjZñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jVñh´MìhjWñubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj;ñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jVñh´MìhjÆðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjªðubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj|ñh]”hŒReturn”…”�”}”(hj~ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjzñubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mîhjªðubhï)�”}”(hŒ8"true" if bundling has been performed, otherwise "false"”h]”hŒ@“trueâ€� if bundling has been performed, otherwise “falseâ€�”…”�”}”(hj’ñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mîhjªðubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjcáh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_msg_try_bundle (C function)”Œc.tipc_msg_try_bundle”hNt”auh1jhjcáh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒkbool tipc_msg_try_bundle (struct sk_buff *tskb, struct sk_buff **skb, u32 mss, u32 dnode, bool *new_bundle)”h]”j/)�”}”(hŒjbool tipc_msg_try_bundle(struct sk_buff *tskb, struct sk_buff **skb, u32 mss, u32 dnode, bool *new_bundle)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjÁñh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj½ñh²hh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏñh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj½ñh²hh³jÎñh´MubjX)�”}”(hŒtipc_msg_try_bundle”h]”j^)�”}”(hŒtipc_msg_try_bundle”h]”hŒtipc_msg_try_bundle”…”�”}”(hjáñh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÝñubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj½ñh²hh³jÎñh´Mubj)�”}”(hŒR(struct sk_buff *tskb, struct sk_buff **skb, u32 mss, u32 dnode, bool *new_bundle)”h]”(j%)�”}”(hŒstruct sk_buff *tskb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjýñh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjùñubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj òh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjùñubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjòubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jòŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjãñsbŒc.tipc_msg_try_bundle”†”asbuh1hhjùñubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;òh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjùñubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjIòh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjùñubj^)�”}”(hŒtskb”h]”hŒtskb”…”�”}”(hjVòh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjùñubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjõñubj%)�”}”(hŒstruct sk_buff **skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjoòh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjkòubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|òh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjkòubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj�òh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŠòubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j�òŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j7òŒc.tipc_msg_try_bundle”†”asbuh1hhjkòubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«òh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjkòubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¹òh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjkòubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÆòh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjkòubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjÓòh²hh³Nh´Nubah•=}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjkòubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjõñubj%)�”}”(hŒu32 mss”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjïòh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjìòubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jñòŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j7òŒc.tipc_msg_try_bundle”†”asbuh1hhjèòubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj óh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjèòubj^)�”}”(hŒmss”h]”hŒmss”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjèòubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjõñubj%)�”}”(hŒ u32 dnode”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj7óh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj4óubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j9óŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j7òŒc.tipc_msg_try_bundle”†”asbuh1hhj0óubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUóh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj0óubj^)�”}”(hŒdnode”h]”hŒdnode”…”�”}”(hjcóh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj0óubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjõñubj%)�”}”(hŒbool *new_bundle”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hj|óh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjxóubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰óh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjxóubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj—óh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjxóubj^)�”}”(hŒ new_bundle”h]”hŒ new_bundle”…”�”}”(hj¤óh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjxóubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjõñubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj½ñh²hh³jÎñh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj¹ñh²hh³jÎñh´Mubah}”(h]”j´ñah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÎñh´Mhj¶ñh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ+Try to bundle a new message to the last one”h]”hŒ+Try to bundle a new message to the last one”…”�”}”(hjÎóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MhjËóh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¶ñh²hh³jÎñh´Mubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jæój­jæój®‰j¯‰j°‰uh1j#h²hhjcáh³Nh´Nubj²)�”}”(hX2**Parameters** ``struct sk_buff *tskb`` the last/target message to which the new one will be appended ``struct sk_buff **skb`` the new message skb pointer ``u32 mss`` max message size (header inclusive) ``u32 dnode`` destination node for the message ``bool *new_bundle`` if this call made a new bundle or not **Return** "true" if the new message skb is potential for bundling this time or later, in the case a bundling has been done this time, the skb is consumed (the skb pointer = NULL). Otherwise, "false" if the skb cannot be bundled at all.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjðóh]”hŒ Parameters”…”�”}”(hjòóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjîóubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M hjêóubj)�”}”(hhh]”(j)�”}”(hŒW``struct sk_buff *tskb`` the last/target message to which the new one will be appended ”h]”(j )�”}”(hŒ``struct sk_buff *tskb``”h]”j)�”}”(hjôh]”hŒstruct sk_buff *tskb”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M hj ôubj')�”}”(hhh]”hï)�”}”(hŒ=the last/target message to which the new one will be appended”h]”hŒ=the last/target message to which the new one will be appended”…”�”}”(hj(ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j$ôh´M hj%ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j$ôh´M hjôubj)�”}”(hŒ5``struct sk_buff **skb`` the new message skb pointer ”h]”(j )�”}”(hŒ``struct sk_buff **skb``”h]”j)�”}”(hjHôh]”hŒstruct sk_buff **skb”…”�”}”(hjJôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjFôubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M hjBôubj')�”}”(hhh]”hï)�”}”(hŒthe new message skb pointer”h]”hŒthe new message skb pointer”…”�”}”(hjaôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j]ôh´M hj^ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjBôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j]ôh´M hjôubj)�”}”(hŒ0``u32 mss`` max message size (header inclusive) ”h]”(j )�”}”(hŒ ``u32 mss``”h]”j)�”}”(hj�ôh]”hŒu32 mss”…”�”}”(hjƒôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjôubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M hj{ôubj')�”}”(hhh]”hï)�”}”(hŒ#max message size (header inclusive)”h]”hŒ#max message size (header inclusive)”…”�”}”(hjšôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j–ôh´M hj—ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj{ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j–ôh´M hjôubj)�”}”(hŒ/``u32 dnode`` destination node for the message ”h]”(j )�”}”(hŒ ``u32 dnode``”h]”j)�”}”(hjºôh]”hŒ u32 dnode”…”�”}”(hj¼ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¸ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M hj´ôubj')�”}”(hhh]”hï)�”}”(hŒ destination node for the message”h]”hŒ destination node for the message”…”�”}”(hjÓôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÏôh´M hjÐôubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj´ôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÏôh´M hjôubj)�”}”(hŒ;``bool *new_bundle`` if this call made a new bundle or not ”h]”(j )�”}”(hŒ``bool *new_bundle``”h]”j)�”}”(hjóôh]”hŒbool *new_bundle”…”�”}”(hjõôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñôubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M hjíôubj')�”}”(hhh]”hï)�”}”(hŒ%if this call made a new bundle or not”h]”hŒ%if this call made a new bundle or not”…”�”}”(hj õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jõh´M hj õubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjíôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jõh´M hjôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjêóubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj.õh]”hŒReturn”…”�”}”(hj0õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj,õubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mhjêóubhï)�”}”(hŒá"true" if the new message skb is potential for bundling this time or later, in the case a bundling has been done this time, the skb is consumed (the skb pointer = NULL). Otherwise, "false" if the skb cannot be bundled at all.”h]”hŒé“trueâ€� if the new message skb is potential for bundling this time or later, in the case a bundling has been done this time, the skb is consumed (the skb pointer = NULL). Otherwise, “falseâ€� if the skb cannot be bundled at all.”…”�”}”(hjDõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mhjêóubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjcáh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_msg_extract (C function)”Œc.tipc_msg_extract”hNt”auh1jhjcáh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒLbool tipc_msg_extract (struct sk_buff *skb, struct sk_buff **iskb, int *pos)”h]”j/)�”}”(hŒKbool tipc_msg_extract(struct sk_buff *skb, struct sk_buff **iskb, int *pos)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjsõh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjoõh²hh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MIubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�õh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjoõh²hh³j€õh´MIubjX)�”}”(hŒtipc_msg_extract”h]”j^)�”}”(hŒtipc_msg_extract”h]”hŒtipc_msg_extract”…”�”}”(hj“õh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�õubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjoõh²hh³j€õh´MIubj)�”}”(hŒ6(struct sk_buff *skb, struct sk_buff **iskb, int *pos)”h]”(j%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¯õh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj«õubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼õh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj«õubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjÍõh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÊõubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÏõŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj•õsbŒc.tipc_msg_extract”†”asbuh1hhj«õubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíõh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj«õubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjûõh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj«õubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj«õubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj§õubj%)�”}”(hŒstruct sk_buff **iskb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj!öh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjöubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.öh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjöubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj?öh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj<öubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jAöŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jéõŒc.tipc_msg_extract”†”asbuh1hhjöubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]öh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjöubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjköh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjöubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjxöh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjöubj^)�”}”(hŒiskb”h]”hŒiskb”…”�”}”(hj…öh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjöubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj§õubj%)�”}”(hŒint *pos”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjžöh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjšöubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬öh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjšöubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjºöh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjšöubj^)�”}”(hŒpos”h]”hŒpos”…”�”}”(hjÇöh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjšöubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj§õubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjoõh²hh³j€õh´MIubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjkõh²hh³j€õh´MIubah}”(h]”jfõah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j€õh´MIhjhõh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ(extract bundled inner packet from buffer”h]”hŒ(extract bundled inner packet from buffer”…”�”}”(hjñöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MIhjîöh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjhõh²hh³j€õh´MIubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j ÷j­j ÷j®‰j¯‰j°‰uh1j#h²hhjcáh³Nh´Nubj²)�”}”(hXd**Parameters** ``struct sk_buff *skb`` buffer to be extracted from. ``struct sk_buff **iskb`` extracted inner buffer, to be returned ``int *pos`` position in outer message of msg to be extracted. Returns position of next msg. Consumes outer buffer when last packet extracted **Return** true when there is an extracted buffer, otherwise false”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj÷h]”hŒ Parameters”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MMhj ÷ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct sk_buff *skb`` buffer to be extracted from. ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hj2÷h]”hŒstruct sk_buff *skb”…”�”}”(hj4÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MJhj,÷ubj')�”}”(hhh]”hï)�”}”(hŒbuffer to be extracted from.”h]”hŒbuffer to be extracted from.”…”�”}”(hjK÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jG÷h´MJhjH÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj,÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jG÷h´MJhj)÷ubj)�”}”(hŒA``struct sk_buff **iskb`` extracted inner buffer, to be returned ”h]”(j )�”}”(hŒ``struct sk_buff **iskb``”h]”j)�”}”(hjk÷h]”hŒstruct sk_buff **iskb”…”�”}”(hjm÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhji÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MKhje÷ubj')�”}”(hhh]”hï)�”}”(hŒ&extracted inner buffer, to be returned”h]”hŒ&extracted inner buffer, to be returned”…”�”}”(hj„÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j€÷h´MKhj�÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hje÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j€÷h´MKhj)÷ubj)�”}”(hŒŽ``int *pos`` position in outer message of msg to be extracted. Returns position of next msg. Consumes outer buffer when last packet extracted ”h]”(j )�”}”(hŒ ``int *pos``”h]”j)�”}”(hj¤÷h]”hŒint *pos”…”�”}”(hj¦÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MNhjž÷ubj')�”}”(hhh]”hï)�”}”(hŒ€position in outer message of msg to be extracted. Returns position of next msg. Consumes outer buffer when last packet extracted”h]”hŒ€position in outer message of msg to be extracted. Returns position of next msg. Consumes outer buffer when last packet extracted”…”�”}”(hj½÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MLhjº÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjž÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¹÷h´MNhj)÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj ÷ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjà÷h]”hŒReturn”…”�”}”(hjâ÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÞ÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MPhj ÷ubhï)�”}”(hŒ7true when there is an extracted buffer, otherwise false”h]”hŒ7true when there is an extracted buffer, otherwise false”…”�”}”(hjö÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MOhj ÷ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjcáh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_msg_reverse (C function)”Œc.tipc_msg_reverse”hNt”auh1jhjcáh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒCbool tipc_msg_reverse (u32 own_node, struct sk_buff **skb, int err)”h]”j/)�”}”(hŒBbool tipc_msg_reverse(u32 own_node, struct sk_buff **skb, int err)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hj%øh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj!øh²hh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MvubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3øh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj!øh²hh³j2øh´MvubjX)�”}”(hŒtipc_msg_reverse”h]”j^)�”}”(hŒtipc_msg_reverse”h]”hŒtipc_msg_reverse”…”�”}”(hjEøh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjAøubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj!øh²hh³j2øh´Mvubj)�”}”(hŒ-(u32 own_node, struct sk_buff **skb, int err)”h]”(j%)�”}”(hŒ u32 own_node”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjdøh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjaøubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jføŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjGøsbŒc.tipc_msg_reverse”†”asbuh1hhj]øubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„øh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj]øubj^)�”}”(hŒown_node”h]”hŒown_node”…”�”}”(hj’øh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj]øubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjYøubj%)�”}”(hŒstruct sk_buff **skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj«øh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj§øubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸øh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj§øubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjÉøh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÆøubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jËøŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j€øŒc.tipc_msg_reverse”†”asbuh1hhj§øubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçøh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj§øubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjõøh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj§øubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj§øubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj§øubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjYøubj%)�”}”(hŒint err”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj(ùh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj$ùubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6ùh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj$ùubj^)�”}”(hŒerr”h]”hŒerr”…”�”}”(hjDùh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj$ùubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjYøubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj!øh²hh³j2øh´Mvubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjøh²hh³j2øh´Mvubah}”(h]”jøah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j2øh´Mvhjøh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ8swap source and destination addresses and add error code”h]”hŒ8swap source and destination addresses and add error code”…”�”}”(hjnùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mvhjkùh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjøh²hh³j2øh´Mvubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j†ùj­j†ùj®‰j¯‰j°‰uh1j#h²hhjcáh³Nh´Nubj²)�”}”(hX?**Parameters** ``u32 own_node`` originating node id for reversed message ``struct sk_buff **skb`` buffer containing message to be reversed; will be consumed ``int err`` error code to be set in message, if any Replaces consumed buffer with new one when successful **Return** true if success, otherwise false”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj�ùh]”hŒ Parameters”…”�”}”(hj’ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjŽùubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MzhjŠùubj)�”}”(hhh]”(j)�”}”(hŒ:``u32 own_node`` originating node id for reversed message ”h]”(j )�”}”(hŒ``u32 own_node``”h]”j)�”}”(hj¯ùh]”hŒ u32 own_node”…”�”}”(hj±ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj­ùubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mwhj©ùubj')�”}”(hhh]”hï)�”}”(hŒ(originating node id for reversed message”h]”hŒ(originating node id for reversed message”…”�”}”(hjÈùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÄùh´MwhjÅùubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj©ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÄùh´Mwhj¦ùubj)�”}”(hŒT``struct sk_buff **skb`` buffer containing message to be reversed; will be consumed ”h]”(j )�”}”(hŒ``struct sk_buff **skb``”h]”j)�”}”(hjèùh]”hŒstruct sk_buff **skb”…”�”}”(hjêùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjæùubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mxhjâùubj')�”}”(hhh]”hï)�”}”(hŒ:buffer containing message to be reversed; will be consumed”h]”hŒ:buffer containing message to be reversed; will be consumed”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jýùh´Mxhjþùubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjâùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jýùh´Mxhj¦ùubj)�”}”(hŒj``int err`` error code to be set in message, if any Replaces consumed buffer with new one when successful ”h]”(j )�”}”(hŒ ``int err``”h]”j)�”}”(hj!úh]”hŒint err”…”�”}”(hj#úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjúubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Mzhjúubj')�”}”(hhh]”hï)�”}”(hŒ]error code to be set in message, if any Replaces consumed buffer with new one when successful”h]”hŒ]error code to be set in message, if any Replaces consumed buffer with new one when successful”…”�”}”(hj:úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´Myhj7úubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjúubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j6úh´Mzhj¦ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjŠùubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj]úh]”hŒReturn”…”�”}”(hj_úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj[úubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M|hjŠùubhï)�”}”(hŒ true if success, otherwise false”h]”hŒ true if success, otherwise false”…”�”}”(hjsúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´M{hjŠùubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjcáh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ!tipc_msg_lookup_dest (C function)”Œc.tipc_msg_lookup_dest”hNt”auh1jhjcáh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒJbool tipc_msg_lookup_dest (struct net *net, struct sk_buff *skb, int *err)”h]”j/)�”}”(hŒIbool tipc_msg_lookup_dest(struct net *net, struct sk_buff *skb, int *err)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hj¢úh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjžúh²hh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MÂubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°úh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjžúh²hh³j¯úh´MÂubjX)�”}”(hŒtipc_msg_lookup_dest”h]”j^)�”}”(hŒtipc_msg_lookup_dest”h]”hŒtipc_msg_lookup_dest”…”�”}”(hjÂúh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¾úubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjžúh²hh³j¯úh´MÂubj)�”}”(hŒ0(struct net *net, struct sk_buff *skb, int *err)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÞúh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÚúubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëúh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÚúubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjüúh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjùúubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jþúŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÄúsbŒc.tipc_msg_lookup_dest”†”asbuh1hhjÚúubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÚúubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj*ûh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÚúubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj7ûh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÚúubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÖúubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjPûh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjLûubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]ûh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjLûubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjnûh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjkûubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jpûŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jûŒc.tipc_msg_lookup_dest”†”asbuh1hhjLûubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒûh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjLûubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjšûh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjLûubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj§ûh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjLûubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÖúubj%)�”}”(hŒint *err”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÀûh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¼ûubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎûh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¼ûubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÜûh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¼ûubj^)�”}”(hŒerr”h]”hŒerr”…”�”}”(hjéûh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¼ûubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÖúubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjžúh²hh³j¯úh´MÂubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjšúh²hh³j¯úh´MÂubah}”(h]”j•úah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j¯úh´MÂhj—úh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ-try to find new destination for named message”h]”hŒ-try to find new destination for named message”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MÂhjüh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj—úh²hh³j¯úh´MÂubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j+üj­j+üj®‰j¯‰j°‰uh1j#h²hhjcáh³Nh´Nubj²)�”}”(hX"**Parameters** ``struct net *net`` pointer to associated network namespace ``struct sk_buff *skb`` the buffer containing the message. ``int *err`` error code to be used by caller if lookup fails Does not consume buffer **Return** true if a destination is found, false otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj5üh]”hŒ Parameters”…”�”}”(hj7üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj3üubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MÆhj/üubj)�”}”(hhh]”(j)�”}”(hŒ<``struct net *net`` pointer to associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjTüh]”hŒstruct net *net”…”�”}”(hjVüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjRüubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MÃhjNüubj')�”}”(hhh]”hï)�”}”(hŒ'pointer to associated network namespace”h]”hŒ'pointer to associated network namespace”…”�”}”(hjmüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jiüh´MÃhjjüubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjNüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jiüh´MÃhjKüubj)�”}”(hŒ;``struct sk_buff *skb`` the buffer containing the message. ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hj�üh]”hŒstruct sk_buff *skb”…”�”}”(hj�üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‹üubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MÄhj‡üubj')�”}”(hhh]”hï)�”}”(hŒ"the buffer containing the message.”h]”hŒ"the buffer containing the message.”…”�”}”(hj¦üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¢üh´MÄhj£üubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj‡üubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¢üh´MÄhjKüubj)�”}”(hŒU``int *err`` error code to be used by caller if lookup fails Does not consume buffer ”h]”(j )�”}”(hŒ ``int *err``”h]”j)�”}”(hjÆüh]”hŒint *err”…”�”}”(hjÈüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÄüubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MÆhjÀüubj')�”}”(hhh]”hï)�”}”(hŒGerror code to be used by caller if lookup fails Does not consume buffer”h]”hŒGerror code to be used by caller if lookup fails Does not consume buffer”…”�”}”(hjßüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MÅhjÜüubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÀüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÛüh´MÆhjKüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj/üubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjýh]”hŒReturn”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjýubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MÈhj/üubhï)�”}”(hŒ/true if a destination is found, false otherwise”h]”hŒ/true if a destination is found, false otherwise”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒO/var/lib/git/docbuild/linux/Documentation/networking/tipc:175: ./net/tipc/msg.c”h´MÇhj/üubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjcáh²hh³Nh´Nubeh}”(h]”Œtipc-msg-interfaces”ah ]”h"]”Œtipc msg interfaces”ah$]”h&]”uh1hÈhjâh²hh³hÇh´K­ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTIPC Name Interfaces”h]”hŒTIPC Name Interfaces”…”�”}”(hj9ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj6ýh²hh³hÇh´K³ubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒservice_range (C struct)”Œc.service_range”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ service_range”h]”j/)�”}”(hŒstruct service_range”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj`ýh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj\ýh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnýh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj\ýh²hh³jmýh´KubjX)�”}”(hŒ service_range”h]”j^)�”}”(hjZýh]”hŒ service_range”…”�”}”(hj€ýh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj|ýubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj\ýh²hh³jmýh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjXýh²hh³jmýh´Kubah}”(h]”jSýah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jmýh´KhjUýh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ-container for all bindings of a service range”h]”hŒ-container for all bindings of a service range”…”�”}”(hj¢ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K4hjŸýh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjUýh²hh³jmýh´Kubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬jºýj­jºýj®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hXz**Definition**:: struct service_range { u32 lower; u32 upper; struct rb_node tree_node; u32 max; struct list_head local_publ; struct list_head all_publ; }; **Members** ``lower`` service range lower bound ``upper`` service range upper bound ``tree_node`` member of service range RB tree ``max`` largest 'upper' in this node subtree ``local_publ`` list of identical publications made from this node Used by closest_first lookup and multicast lookup algorithm ``all_publ`` all publications identical to this one, whatever node and scope Used by round-robin lookup algorithm”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÆýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÂýubhŒ:”…”�”}”(hjÂýh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K8hj¾ýubj×)�”}”(hŒ¢struct service_range { u32 lower; u32 upper; struct rb_node tree_node; u32 max; struct list_head local_publ; struct list_head all_publ; };”h]”hŒ¢struct service_range { u32 lower; u32 upper; struct rb_node tree_node; u32 max; struct list_head local_publ; struct list_head all_publ; };”…”�”}”hjßýsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K:hj¾ýubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hjðýh]”hŒMembers”…”�”}”(hjòýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjîýubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KChj¾ýubj)�”}”(hhh]”(j)�”}”(hŒ$``lower`` service range lower bound ”h]”(j )�”}”(hŒ ``lower``”h]”j)�”}”(hjþh]”hŒlower”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj þubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K6hj þubj')�”}”(hhh]”hï)�”}”(hŒservice range lower bound”h]”hŒservice range lower bound”…”�”}”(hj(þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j$þh´K6hj%þubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj þubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j$þh´K6hjþubj)�”}”(hŒ$``upper`` service range upper bound ”h]”(j )�”}”(hŒ ``upper``”h]”j)�”}”(hjHþh]”hŒupper”…”�”}”(hjJþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjFþubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K7hjBþubj')�”}”(hhh]”hï)�”}”(hŒservice range upper bound”h]”hŒservice range upper bound”…”�”}”(hjaþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j]þh´K7hj^þubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjBþubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j]þh´K7hjþubj)�”}”(hŒ.``tree_node`` member of service range RB tree ”h]”(j )�”}”(hŒ ``tree_node``”h]”j)�”}”(hj�þh]”hŒ tree_node”…”�”}”(hjƒþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjþubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K8hj{þubj')�”}”(hhh]”hï)�”}”(hŒmember of service range RB tree”h]”hŒmember of service range RB tree”…”�”}”(hjšþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j–þh´K8hj—þubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj{þubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j–þh´K8hjþubj)�”}”(hŒ-``max`` largest 'upper' in this node subtree ”h]”(j )�”}”(hŒ``max``”h]”j)�”}”(hjºþh]”hŒmax”…”�”}”(hj¼þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¸þubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K9hj´þubj')�”}”(hhh]”hï)�”}”(hŒ$largest 'upper' in this node subtree”h]”hŒ(largest ‘upper’ in this node subtree”…”�”}”(hjÓþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÏþh´K9hjÐþubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj´þubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÏþh´K9hjþubj)�”}”(hŒ~``local_publ`` list of identical publications made from this node Used by closest_first lookup and multicast lookup algorithm ”h]”(j )�”}”(hŒ``local_publ``”h]”j)�”}”(hjóþh]”hŒ local_publ”…”�”}”(hjõþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñþubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K;hjíþubj')�”}”(hhh]”hï)�”}”(hŒnlist of identical publications made from this node Used by closest_first lookup and multicast lookup algorithm”h]”hŒnlist of identical publications made from this node Used by closest_first lookup and multicast lookup algorithm”…”�”}”(hj ÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K:hj ÿubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjíþubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÿh´K;hjþubj)�”}”(hŒq``all_publ`` all publications identical to this one, whatever node and scope Used by round-robin lookup algorithm”h]”(j )�”}”(hŒ ``all_publ``”h]”j)�”}”(hj-ÿh]”hŒall_publ”…”�”}”(hj/ÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj+ÿubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K``subscriptions`` list of subscriptions for this service type ”h]”(j )�”}”(hŒ``subscriptions``”h]”j)�”}”(hjh]”hŒ subscriptions”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KNhjubj')�”}”(hhh]”hï)�”}”(hŒ+list of subscriptions for this service type”h]”hŒ+list of subscriptions for this service type”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j.h´KNhj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j.h´KNhj,ubj)�”}”(hŒO``lock`` spinlock controlling access to pertaining service ranges/publications ”h]”(j )�”}”(hŒ``lock``”h]”j)�”}”(hjRh]”hŒlock”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KOhjLubj')�”}”(hhh]”hï)�”}”(hŒEspinlock controlling access to pertaining service ranges/publications”h]”hŒEspinlock controlling access to pertaining service ranges/publications”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jgh´KOhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jgh´KOhj,ubj)�”}”(hŒ3``rcu`` RCU callback head used for deferred freeing”h]”(j )�”}”(hŒ``rcu``”h]”j)�”}”(hj‹h]”hŒrcu”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KOhj…ubj')�”}”(hhh]”hï)�”}”(hŒ+RCU callback head used for deferred freeing”h]”hŒ+RCU callback head used for deferred freeing”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KPhj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j h´KOhj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjäÿubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ%service_range_foreach_match (C macro)”Œc.service_range_foreach_match”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒservice_range_foreach_match”h]”j/)�”}”(hŒservice_range_foreach_match”h]”jX)�”}”(hŒservice_range_foreach_match”h]”j^)�”}”(hjßh]”hŒservice_range_foreach_match”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjåubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjáh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kgubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÝh²hh³jüh´Kgubah}”(h]”jØah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jüh´KghjÚh²hubjŠ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÚh²hh³jüh´Kgubeh}”(h]”h ]”(j¦Œmacro”eh"]”h$]”h&]”j«j¦j¬jj­jj®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubhï)�”}”(hŒ4``service_range_foreach_match (sr, sc, start, end)``”h]”j)�”}”(hjh]”hŒ0service_range_foreach_match (sr, sc, start, end)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kihj6ýh²hubhŒ block_quote”“”)�”}”(hŒ6iterate over tipc service rbtree for each range match ”h]”hï)�”}”(hŒ5iterate over tipc service rbtree for each range match”h]”hŒ5iterate over tipc service rbtree for each range match”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kghj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j1h³jEh´Kghj6ýh²hubj²)�”}”(hX**Parameters** ``sr`` the service range pointer as a loop cursor ``sc`` the pointer to tipc service which holds the service range rbtree ``start`` beginning of the search range (end >= start) for matching ``end`` end of the search range (end >= start) for matching”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjRh]”hŒ Parameters”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KkhjLubj)�”}”(hhh]”(j)�”}”(hŒ2``sr`` the service range pointer as a loop cursor ”h]”(j )�”}”(hŒ``sr``”h]”j)�”}”(hjqh]”hŒsr”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjoubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kihjkubj')�”}”(hhh]”hï)�”}”(hŒ*the service range pointer as a loop cursor”h]”hŒ*the service range pointer as a loop cursor”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j†h´Kihj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j†h´Kihjhubj)�”}”(hŒH``sc`` the pointer to tipc service which holds the service range rbtree ”h]”(j )�”}”(hŒ``sc``”h]”j)�”}”(hjªh]”hŒsc”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kjhj¤ubj')�”}”(hhh]”hï)�”}”(hŒ@the pointer to tipc service which holds the service range rbtree”h]”hŒ@the pointer to tipc service which holds the service range rbtree”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¿h´KjhjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¿h´Kjhjhubj)�”}”(hŒD``start`` beginning of the search range (end >= start) for matching ”h]”(j )�”}”(hŒ ``start``”h]”j)�”}”(hjãh]”hŒstart”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjáubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KkhjÝubj')�”}”(hhh]”hï)�”}”(hŒ9beginning of the search range (end >= start) for matching”h]”hŒ9beginning of the search range (end >= start) for matching”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jøh´Kkhjùubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jøh´Kkhjhubj)�”}”(hŒ;``end`` end of the search range (end >= start) for matching”h]”(j )�”}”(hŒ``end``”h]”j)�”}”(hjh]”hŒend”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kmhjubj')�”}”(hhh]”hï)�”}”(hŒ3end of the search range (end >= start) for matching”h]”hŒ3end of the search range (end >= start) for matching”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Klhj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j1h´Kmhjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjLubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ&service_range_match_first (C function)”Œc.service_range_match_first”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒXstruct service_range * service_range_match_first (struct rb_node *n, u32 start, u32 end)”h]”j/)�”}”(hŒVstruct service_range *service_range_match_first(struct rb_node *n, u32 start, u32 end)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjrh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KxubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjrh²hh³jƒh´Kxubh)�”}”(hhh]”j^)�”}”(hŒ service_range”h]”hŒ service_range”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj’ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j—Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒservice_range_match_first”sbŒc.service_range_match_first”†”asbuh1hhjrh²hh³jƒh´KxubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjrh²hh³jƒh´Kxubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjrh²hh³jƒh´KxubjX)�”}”(hŒservice_range_match_first”h]”j^)�”}”(hj³h]”hŒservice_range_match_first”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÑubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjrh²hh³jƒh´Kxubj)�”}”(hŒ'(struct rb_node *n, u32 start, u32 end)”h]”(j%)�”}”(hŒstruct rb_node *n”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjìubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjìubh)�”}”(hhh]”j^)�”}”(hŒrb_node”h]”hŒrb_node”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j±Œc.service_range_match_first”†”asbuh1hhjìubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjìubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjìubj^)�”}”(hjih]”hŒn”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjìubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjèubj%)�”}”(hŒ u32 start”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj_ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jdŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j±Œc.service_range_match_first”†”asbuh1hhj[ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj[ubj^)�”}”(hŒstart”h]”hŒstart”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjèubj%)�”}”(hŒu32 end”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj§ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¬Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j±Œc.service_range_match_first”†”asbuh1hhj£ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj£ubj^)�”}”(hŒend”h]”hŒend”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjèubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjrh²hh³jƒh´Kxubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjnh²hh³jƒh´Kxubah}”(h]”jiah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jƒh´Kxhjkh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ)find first service range matching a range”h]”hŒ)find first service range matching a range”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kxhjýh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjkh²hh³jƒh´Kxubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jj­jj®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hXf**Parameters** ``struct rb_node *n`` the root node of service range rbtree for searching ``u32 start`` beginning of the search range (end >= start) for matching ``u32 end`` end of the search range (end >= start) for matching **Return** the leftmost service range node in the rbtree that overlaps the specific range if any. Otherwise, returns NULL.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj"h]”hŒ Parameters”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K|hjubj)�”}”(hhh]”(j)�”}”(hŒJ``struct rb_node *n`` the root node of service range rbtree for searching ”h]”(j )�”}”(hŒ``struct rb_node *n``”h]”j)�”}”(hjAh]”hŒstruct rb_node *n”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kyhj;ubj')�”}”(hhh]”hï)�”}”(hŒ3the root node of service range rbtree for searching”h]”hŒ3the root node of service range rbtree for searching”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jVh´KyhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jVh´Kyhj8ubj)�”}”(hŒH``u32 start`` beginning of the search range (end >= start) for matching ”h]”(j )�”}”(hŒ ``u32 start``”h]”j)�”}”(hjzh]”hŒ u32 start”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kzhjtubj')�”}”(hhh]”hï)�”}”(hŒ9beginning of the search range (end >= start) for matching”h]”hŒ9beginning of the search range (end >= start) for matching”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j�h´Kzhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjtubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�h´Kzhj8ubj)�”}”(hŒ@``u32 end`` end of the search range (end >= start) for matching ”h]”(j )�”}”(hŒ ``u32 end``”h]”j)�”}”(hj³h]”hŒu32 end”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K{hj­ubj')�”}”(hhh]”hï)�”}”(hŒ3end of the search range (end >= start) for matching”h]”hŒ3end of the search range (end >= start) for matching”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÈh´K{hjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÈh´K{hj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjîh]”hŒReturn”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjìubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K}hjubhï)�”}”(hŒothe leftmost service range node in the rbtree that overlaps the specific range if any. Otherwise, returns NULL.”h]”hŒothe leftmost service range node in the rbtree that overlaps the specific range if any. Otherwise, returns NULL.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K}hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ%service_range_match_next (C function)”Œc.service_range_match_next”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒWstruct service_range * service_range_match_next (struct rb_node *n, u32 start, u32 end)”h]”j/)�”}”(hŒUstruct service_range *service_range_match_next(struct rb_node *n, u32 start, u32 end)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj/h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KªubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj/h²hh³j@h´Kªubh)�”}”(hhh]”j^)�”}”(hŒ service_range”h]”hŒ service_range”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jTŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒservice_range_match_next”sbŒc.service_range_match_next”†”asbuh1hhj/h²hh³j@h´KªubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj/h²hh³j@h´Kªubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj/h²hh³j@h´KªubjX)�”}”(hŒservice_range_match_next”h]”j^)�”}”(hjph]”hŒservice_range_match_next”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŽubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj/h²hh³j@h´Kªubj)�”}”(hŒ'(struct rb_node *n, u32 start, u32 end)”h]”(j%)�”}”(hŒstruct rb_node *n”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj©ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj©ubh)�”}”(hhh]”j^)�”}”(hŒrb_node”h]”hŒrb_node”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÈubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÍŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jnŒc.service_range_match_next”†”asbuh1hhj©ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj©ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj©ubj^)�”}”(hjih]”hŒn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¥ubj%)�”}”(hŒ u32 start”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j!Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jnŒc.service_range_match_next”†”asbuh1hhjubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjubj^)�”}”(hŒstart”h]”hŒstart”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¥ubj%)�”}”(hŒu32 end”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjdubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jiŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jnŒc.service_range_match_next”†”asbuh1hhj`ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj`ubj^)�”}”(hŒend”h]”hŒend”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¥ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj/h²hh³j@h´Kªubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj+h²hh³j@h´Kªubah}”(h]”j&ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j@h´Kªhj(h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ(find next service range matching a range”h]”hŒ(find next service range matching a range”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kªhjºh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj(h²hh³j@h´Kªubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÕj­jÕj®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hX**Parameters** ``struct rb_node *n`` a node in service range rbtree from which the searching starts ``u32 start`` beginning of the search range (end >= start) for matching ``u32 end`` end of the search range (end >= start) for matching **Return** the next service range node to the given node in the rbtree that overlaps the specific range if any. Otherwise, returns NULL.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjßh]”hŒ Parameters”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K®hjÙubj)�”}”(hhh]”(j)�”}”(hŒU``struct rb_node *n`` a node in service range rbtree from which the searching starts ”h]”(j )�”}”(hŒ``struct rb_node *n``”h]”j)�”}”(hjþh]”hŒstruct rb_node *n”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjüubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K«hjøubj')�”}”(hhh]”hï)�”}”(hŒ>a node in service range rbtree from which the searching starts”h]”hŒ>a node in service range rbtree from which the searching starts”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jh´K«hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjøubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´K«hjõubj)�”}”(hŒH``u32 start`` beginning of the search range (end >= start) for matching ”h]”(j )�”}”(hŒ ``u32 start``”h]”j)�”}”(hj7h]”hŒ u32 start”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K¬hj1ubj')�”}”(hhh]”hï)�”}”(hŒ9beginning of the search range (end >= start) for matching”h]”hŒ9beginning of the search range (end >= start) for matching”…”�”•}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jLh´K¬hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jLh´K¬hjõubj)�”}”(hŒ@``u32 end`` end of the search range (end >= start) for matching ”h]”(j )�”}”(hŒ ``u32 end``”h]”j)�”}”(hjph]”hŒu32 end”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjnubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K­hjjubj')�”}”(hhh]”hï)�”}”(hŒ3end of the search range (end >= start) for matching”h]”hŒ3end of the search range (end >= start) for matching”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j…h´K­hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j…h´K­hjõubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÙubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj«h]”hŒReturn”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K¯hjÙubhï)�”}”(hŒ}the next service range node to the given node in the rbtree that overlaps the specific range if any. Otherwise, returns NULL.”h]”hŒ}the next service range node to the given node in the rbtree that overlaps the specific range if any. Otherwise, returns NULL.”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´K¯hjÙubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_publ_create (C function)”Œc.tipc_publ_create”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒcstruct publication * tipc_publ_create (struct tipc_uaddr *ua, struct tipc_socket_addr *sk, u32 key)”h]”j/)�”}”(hŒastruct publication *tipc_publ_create(struct tipc_uaddr *ua, struct tipc_socket_addr *sk, u32 key)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjìh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KàubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjìh²hh³jýh´Kàubh)�”}”(hhh]”j^)�”}”(hŒ publication”h]”hŒ publication”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒtipc_publ_create”sbŒc.tipc_publ_create”†”asbuh1hhjìh²hh³jýh´KàubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0 h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjìh²hh³jýh´Kàubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj> h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjìh²hh³jýh´KàubjX)�”}”(hŒtipc_publ_create”h]”j^)�”}”(hj- h]”hŒtipc_publ_create”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjK ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjìh²hh³jýh´Kàubj)�”}”(hŒ=(struct tipc_uaddr *ua, struct tipc_socket_addr *sk, u32 key)”h]”(j%)�”}”(hŒstruct tipc_uaddr *ua”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjf ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjf ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_uaddr”h]”hŒ tipc_uaddr”…”�”}”(hjˆ h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj… ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jŠ Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j+ Œc.tipc_publ_create”†”asbuh1hhjf ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦ h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjf ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj´ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjf ubj^)�”}”(hŒua”h]”hŒua”…”�”}”(hjÁ h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjf ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjb ubj%)�”}”(hŒstruct tipc_socket_addr *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÚ h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÖ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjç h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÖ ubh)�”}”(hhh]”j^)�”}”(hŒtipc_socket_addr”h]”hŒtipc_socket_addr”…”�”}”(hjø h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjõ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jú Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j+ Œc.tipc_publ_create”†”asbuh1hhjÖ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÖ ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj$ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÖ ubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hj1 h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÖ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjb ubj%)�”}”(hŒu32 key”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjJ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jO Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j+ Œc.tipc_publ_create”†”asbuh1hhjF ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjF ubj^)�”}”(hŒkey”h]”hŒkey”…”�”}”(hjy h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjF ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjb ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjìh²hh³jýh´Kàubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjèh²hh³jýh´Kàubah}”(h]”jãah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jýh´Kàhjåh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒcreate a publication structure”h]”hŒcreate a publication structure”…”�”}”(hj£ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kàhj  h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjåh²hh³jýh´Kàubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j» j­j» j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒ¾**Parameters** ``struct tipc_uaddr *ua`` the service range the user is binding to ``struct tipc_socket_addr *sk`` the address of the socket that is bound ``u32 key`` publication key”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÅ h]”hŒ Parameters”…”�”}”(hjÇ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjà ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kähj¿ ubj)�”}”(hhh]”(j)�”}”(hŒC``struct tipc_uaddr *ua`` the service range the user is binding to ”h]”(j )�”}”(hŒ``struct tipc_uaddr *ua``”h]”j)�”}”(hjä h]”hŒstruct tipc_uaddr *ua”…”�”}”(hjæ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjâ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KáhjÞ ubj')�”}”(hhh]”hï)�”}”(hŒ(the service range the user is binding to”h]”hŒ(the service range the user is binding to”…”�”}”(hjý h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jù h´Káhjú ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÞ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jù h´KáhjÛ ubj)�”}”(hŒH``struct tipc_socket_addr *sk`` the address of the socket that is bound ”h]”(j )�”}”(hŒ``struct tipc_socket_addr *sk``”h]”j)�”}”(hj h]”hŒstruct tipc_socket_addr *sk”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kâhj ubj')�”}”(hhh]”hï)�”}”(hŒ'the address of the socket that is bound”h]”hŒ'the address of the socket that is bound”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j2 h´Kâhj3 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j2 h´KâhjÛ ubj)�”}”(hŒ``u32 key`` publication key”h]”(j )�”}”(hŒ ``u32 key``”h]”j)�”}”(hjV h]”hŒu32 key”…”�”}”(hjX h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjT ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KähjP ubj')�”}”(hhh]”hï)�”}”(hŒpublication key”h]”hŒpublication key”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kãhjl ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjP ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jk h´KähjÛ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj¿ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_service_create (C function)”Œc.tipc_service_create”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒRstruct tipc_service * tipc_service_create (struct net *net, struct tipc_uaddr *ua)”h]”j/)�”}”(hŒPstruct tipc_service *tipc_service_create(struct net *net, struct tipc_uaddr *ua)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj° h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj¬ h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KûubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾ h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¬ h²hh³j½ h´Kûubh)�”}”(hhh]”j^)�”}”(hŒ tipc_service”h]”hŒ tipc_service”…”�”}”(hjÏ h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÌ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÑ Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒtipc_service_create”sbŒc.tipc_service_create”†”asbuh1hhj¬ h²hh³j½ h´KûubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¬ h²hh³j½ h´Kûubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjþ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¬ h²hh³j½ h´KûubjX)�”}”(hŒtipc_service_create”h]”j^)�”}”(hjí h]”hŒtipc_service_create”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj¬ h²hh³j½ h´Kûubj)�”}”(hŒ((struct net *net, struct tipc_uaddr *ua)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj* h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj& ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7 h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj& ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjH h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjE ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jJ Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jë Œc.tipc_service_create”†”asbuh1hhj& ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjf h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj& ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjt h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj& ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj& ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj" ubj%)�”}”(hŒstruct tipc_uaddr *ua”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjš h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj– ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§ h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj– ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_uaddr”h]”hŒ tipc_uaddr”…”�”}”(hj¸ h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjµ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jº Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jë Œc.tipc_service_create”†”asbuh1hhj– ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj– ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjä h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj– ubj^)�”}”(hŒua”h]”hŒua”…”�”}”(hjñ h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj– ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj" ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj¬ h²hh³j½ h´Kûubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj¨ h²hh³j½ h´Kûubah}”(h]”j£ ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j½ h´Kûhj¥ h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ3create a service structure for the specified 'type'”h]”hŒ7create a service structure for the specified ‘type’”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kûhj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¥ h²hh³j½ h´Kûubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j3 j­j3 j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒÎ**Parameters** ``struct net *net`` network namespace ``struct tipc_uaddr *ua`` address representing the service to be bound **Description** Allocates a single range structure and sets it to all 0's.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj= h]”hŒ Parameters”…”�”}”(hj? h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj; ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kÿhj7 ubj)�”}”(hhh]”(j)�”}”(hŒ&``struct net *net`` network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj\ h]”hŒstruct net *net”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjZ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´KühjV ubj')�”}”(hhh]”hï)�”}”(hŒnetwork namespace”h]”hŒnetwork namespace”…”�”}”(hju h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jq h´Kühjr ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjV ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jq h´KühjS ubj)�”}”(hŒG``struct tipc_uaddr *ua`` address representing the service to be bound ”h]”(j )�”}”(hŒ``struct tipc_uaddr *ua``”h]”j)�”}”(hj• h]”hŒstruct tipc_uaddr *ua”…”�”}”(hj— h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kýhj� ubj')�”}”(hhh]”hï)�”}”(hŒ,address representing the service to be bound”h]”hŒ,address representing the service to be bound”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jª h´Kýhj« ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj� ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jª h´KýhjS ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj7 ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjÐ h]”hŒ Description”…”�”}”(hjÒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÎ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´Kÿhj7 ubhï)�”}”(hŒ:Allocates a single range structure and sets it to all 0's.”h]”hŒnode' indicates the node where we want lookup to be performed, which may not be this one. On exit: - If lookup is deferred to another node, leave 'sk->node' unchanged and return 'true'. - If lookup is successful, set the 'sk->node' and 'sk->ref' (== portid) which represent the bound socket and return 'true'. - If lookup fails, return 'false' Note that for legacy users (node configured with Z.C.N address format) the 'closest-first' lookup algorithm must be maintained, i.e., if sk.node is 0 we must look in the local binding list first”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj«h]”hŒ Parameters”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M+hj¥ubj)�”}”(hhh]”(j)�”}”(hŒ&``struct net *net`` network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjÊh]”hŒstruct net *net”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÈubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M(hjÄubj')�”}”(hhh]”hï)�”}”(hŒnetwork namespace”h]”hŒnetwork namespace”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jßh´M(hjàubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÄubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jßh´M(hjÁubj)�”}”(hŒ5``struct tipc_uaddr *ua`` service address to look up ”h]”(j )�”}”(hŒ``struct tipc_uaddr *ua``”h]”j)�”}”(hjh]”hŒstruct tipc_uaddr *ua”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M)hjýubj')�”}”(hhh]”hï)�”}”(hŒservice address to look up”h]”hŒservice address to look up”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jh´M)hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjýubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´M)hjÁubj)�”}”(hŒB``struct tipc_socket_addr *sk`` address to socket we want to find ”h]”(j )�”}”(hŒ``struct tipc_socket_addr *sk``”h]”j)�”}”(hj<h]”hŒstruct tipc_socket_addr *sk”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M*hj6ubj')�”}”(hhh]”hï)�”}”(hŒ!address to socket we want to find”h]”hŒ!address to socket we want to find”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jQh´M*hjRubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jQh´M*hjÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj¥ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjwh]”hŒ Description”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjuubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M,hj¥ubhï)�”}”(hŒsOn entry, a non-zero 'sk->node' indicates the node where we want lookup to be performed, which may not be this one.”h]”hŒwOn entry, a non-zero ‘sk->node’ indicates the node where we want lookup to be performed, which may not be this one.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M+hj¥ubhï)�”}”(hŒOn exit:”h]”hŒOn exit:”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M.hj¥ubj)�”}”(hhh]”(j)�”}”(hŒTIf lookup is deferred to another node, leave 'sk->node' unchanged and return 'true'.”h]”hï)�”}”(hŒTIf lookup is deferred to another node, leave 'sk->node' unchanged and return 'true'.”h]”hŒ\If lookup is deferred to another node, leave ‘sk->node’ unchanged and return ‘true’.”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M0hj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj«ubj)�”}”(hŒyIf lookup is successful, set the 'sk->node' and 'sk->ref' (== portid) which represent the bound socket and return 'true'.”h]”hï)�”}”(hŒyIf lookup is successful, set the 'sk->node' and 'sk->ref' (== portid) which represent the bound socket and return 'true'.”h]”hŒ…If lookup is successful, set the ‘sk->node’ and ‘sk->ref’ (== portid) which represent the bound socket and return ‘true’.”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M2hjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj«ubj)�”}”(hŒ If lookup fails, return 'false' ”h]”hï)�”}”(hŒIf lookup fails, return 'false'”h]”hŒ#If lookup fails, return ‘false’”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M4hjàubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj«ubeh}”(h]”h ]”h"]”h$]”h&]”jìjíuh1jh³jÀh´M0hj¥ubhï)�”}”(hŒÂNote that for legacy users (node configured with Z.C.N address format) the 'closest-first' lookup algorithm must be maintained, i.e., if sk.node is 0 we must look in the local binding list first”h]”hŒÆNote that for legacy users (node configured with Z.C.N address format) the ‘closest-first’ lookup algorithm must be maintained, i.e., if sk.node is 0 we must look in the local binding list first”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M6hj¥ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ"tipc_nametbl_withdraw (C function)”Œc.tipc_nametbl_withdraw”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒivoid tipc_nametbl_withdraw (struct net *net, struct tipc_uaddr *ua, struct tipc_socket_addr *sk, u32 key)”h]”j/)�”}”(hŒhvoid tipc_nametbl_withdraw(struct net *net, struct tipc_uaddr *ua, struct tipc_socket_addr *sk, u32 key)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj*h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M-ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj*h²hh³j<h´M-ubjX)�”}”(hŒtipc_nametbl_withdraw”h]”j^)�”}”(hŒtipc_nametbl_withdraw”h]”hŒtipc_nametbl_withdraw”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjKubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj*h²hh³j<h´M-ubj)�”}”(hŒN(struct net *net, struct tipc_uaddr *ua, struct tipc_socket_addr *sk, u32 key)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjgubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjgubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj†ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j‹Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjQsbŒc.tipc_nametbl_withdraw”†”asbuh1hhjgubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjgubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjgubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjcubj%)�”}”(hŒstruct tipc_uaddr *ua”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÙubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÙubh)�”}”(hhh]”j^)�”}”(hŒ tipc_uaddr”h]”hŒ tipc_uaddr”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjøubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jýŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¥Œc.tipc_nametbl_withdraw”†”asbuh1hhjÙubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÙubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÙubj^)�”}”(hŒua”h]”hŒua”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÙubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjcubj%)�”}”(hŒstruct tipc_socket_addr *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjIubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjIubh)�”}”(hhh]”j^)�”}”(hŒtipc_socket_addr”h]”hŒtipc_socket_addr”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjhubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jmŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¥Œc.tipc_nametbl_withdraw”†”asbuh1hhjIubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjIubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjIubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjIubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjcubj%)�”}”(hŒu32 key”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj½ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÂŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¥Œc.tipc_nametbl_withdraw”†”asbuh1hhj¹ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¹ubj^)�”}”(hŒkey”h]”hŒkey”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjcubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj*h²hh³j<h´M-ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj&h²hh³j<h´M-ubah}”(h]”j!ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j<h´M-hj#h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒwithdraw a service binding”h]”hŒwithdraw a service binding”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M-hjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj#h²hh³j<h´M-ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j.j­j.j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒê**Parameters** ``struct net *net`` network namespace ``struct tipc_uaddr *ua`` service address/range being unbound ``struct tipc_socket_addr *sk`` address of the socket being unbound from ``u32 key`` target publication key”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj8h]”hŒ Parameters”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M1hj2ubj)�”}”(hhh]”(j)�”}”(hŒ&``struct net *net`` network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjWh]”hŒstruct net *net”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M.hjQubj')�”}”(hhh]”hï)�”}”(hŒnetwork namespace”h]”hŒnetwork namespace”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jlh´M.hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjQubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jlh´M.hjNubj)�”}”(hŒ>``struct tipc_uaddr *ua`` service address/range being unbound ”h]”(j )�”}”(hŒ``struct tipc_uaddr *ua``”h]”j)�”}”(hj�h]”hŒstruct tipc_uaddr *ua”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M/hjŠubj')�”}”(hhh]”hï)�”}”(hŒ#service address/range being unbound”h]”hŒ#service address/range being unbound”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¥h´M/hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¥h´M/hjNubj)�”}”(hŒI``struct tipc_socket_addr *sk`` address of the socket being unbound from ”h]”(j )�”}”(hŒ``struct tipc_socket_addr *sk``”h]”j)�”}”(hjÉh]”hŒstruct tipc_socket_addr *sk”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M0hjÃubj')�”}”(hhh]”hï)�”}”(hŒ(address of the socket being unbound from”h]”hŒ(address of the socket being unbound from”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÞh´M0hjßubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÞh´M0hjNubj)�”}”(hŒ"``u32 key`` target publication key”h]”(j )�”}”(hŒ ``u32 key``”h]”j)�”}”(hjh]”hŒu32 key”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M2hjüubj')�”}”(hhh]”hï)�”}”(hŒtarget publication key”h]”hŒtarget publication key”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M1hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´M2hjNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj2ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ#tipc_nametbl_subscribe (C function)”Œc.tipc_nametbl_subscribe”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ;bool tipc_nametbl_subscribe (struct tipc_subscription *sub)”h]”j/)�”}”(hŒ:bool tipc_nametbl_subscribe(struct tipc_subscription *sub)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjXh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´MPubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjXh²hh³jih´MPubjX)�”}”(hŒtipc_nametbl_subscribe”h]”j^)�”}”(hŒtipc_nametbl_subscribe”h]”hŒtipc_nametbl_subscribe”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjxubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjXh²hh³jih´MPubj)�”}”(hŒ(struct tipc_subscription *sub)”h]”j%)�”}”(hŒstruct tipc_subscription *sub”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj”ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj”ubh)�”}”(hhh]”j^)�”}”(hŒtipc_subscription”h]”hŒtipc_subscription”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj³ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¸Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj~sbŒc.tipc_nametbl_subscribe”†”asbuh1hhj”ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj”ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj”ubj^)�”}”(hŒsub”h]”hŒsub”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj”ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj�ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjXh²hh³jih´MPubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjTh²hh³jih´MPubah}”(h]”jOah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jih´MPhjQh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ+add a subscription object to the name table”h]”hŒ+add a subscription object to the name table”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´MPhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjQh²hh³jih´MPubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j3j­j3j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒG**Parameters** ``struct tipc_subscription *sub`` subscription to add”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj=h]”hŒ Parameters”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´MThj7ubj)�”}”(hhh]”j)�”}”(hŒ5``struct tipc_subscription *sub`` subscription to add”h]”(j )�”}”(hŒ!``struct tipc_subscription *sub``”h]”j)�”}”(hj\h]”hŒstruct tipc_subscription *sub”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjZubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´MVhjVubj')�”}”(hhh]”hï)�”}”(hŒsubscription to add”h]”hŒsubscription to add”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´MQhjrubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjVubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jqh´MVhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj7ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ%tipc_nametbl_unsubscribe (C function)”Œc.tipc_nametbl_unsubscribe”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ=void tipc_nametbl_unsubscribe (struct tipc_subscription *sub)”h]”j/)�”}”(hŒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjh²hh³jh´M£ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jYj­jYj®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒ|**Parameters** ``struct net *net`` the associated network namespace ``struct tipc_service *sc`` tipc_service to delete”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjch]”hŒ Parameters”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjaubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M§hj]ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj‚h]”hŒstruct net *net”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M¤hj|ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j—h´M¤hj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j—h´M¤hjyubj)�”}”(hŒ2``struct tipc_service *sc`` tipc_service to delete”h]”(j )�”}”(hŒ``struct tipc_service *sc``”h]”j)�”}”(hj»h]”hŒstruct tipc_service *sc”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M¦hjµubj')�”}”(hhh]”hï)�”}”(hŒtipc_service to delete”h]”hŒtipc_service to delete”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:181: ./net/tipc/name_table.c”h´M¥hjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjµubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÐh´M¦hjyubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj]ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒpubl_to_item (C function)”Œc.publ_to_item”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ?void publ_to_item (struct distr_item *i, struct publication *p)”h]”j/)�”}”(hŒ>void publ_to_item(struct distr_item *i, struct publication *p)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjh²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K-ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjh²hh³j#h´K-ubjX)�”}”(hŒ publ_to_item”h]”j^)�”}”(hŒ publ_to_item”h]”hŒ publ_to_item”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj2ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjh²hh³j#h´K-ubj)�”}”(hŒ-(struct distr_item *i, struct publication *p)”h]”(j%)�”}”(hŒstruct distr_item *i”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjNubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjNubh)�”}”(hhh]”j^)�”}”(hŒ distr_item”h]”hŒ distr_item”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjmubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jrŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj8sbŒc.publ_to_item”†”asbuh1hhjNubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjNubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjNubj^)�”}”(hŒi”h]”hŒi”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjJubj%)�”}”(hŒstruct publication *p”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÀubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÀubh)�”}”(hhh]”j^)�”}”(hŒ publication”h]”hŒ publication”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjßubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jäŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jŒŒc.publ_to_item”†”asbuh1hhjÀubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÀubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÀubj^)�”}”(hjh]”hŒp”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÀubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjJubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjh²hh³j#h´K-ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj h²hh³j#h´K-ubah}”(h]”jah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j#h´K-hj h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ-add publication info to a publication message”h]”hŒ-add publication info to a publication message”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K-hjAh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj h²hh³j#h´K-ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j\j­j\j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒx**Parameters** ``struct distr_item *i`` location of item in the message ``struct publication *p`` publication info”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjfh]”hŒ Parameters”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»•hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K1hj`ubj)�”}”(hhh]”(j)�”}”(hŒ9``struct distr_item *i`` location of item in the message ”h]”(j )�”}”(hŒ``struct distr_item *i``”h]”j)�”}”(hj…h]”hŒstruct distr_item *i”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K/hjubj')�”}”(hhh]”hï)�”}”(hŒlocation of item in the message”h]”hŒlocation of item in the message”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jšh´K/hj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jšh´K/hj|ubj)�”}”(hŒ*``struct publication *p`` publication info”h]”(j )�”}”(hŒ``struct publication *p``”h]”j)�”}”(hj¾h]”hŒstruct publication *p”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K1hj¸ubj')�”}”(hhh]”hï)�”}”(hŒpublication info”h]”hŒpublication info”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K.hjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÓh´K1hj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj`ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒnamed_prepare_buf (C function)”Œc.named_prepare_buf”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒRstruct sk_buff * named_prepare_buf (struct net *net, u32 type, u32 size, u32 dest)”h]”j/)�”}”(hŒPstruct sk_buff *named_prepare_buf(struct net *net, u32 type, u32 size, u32 dest)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K;ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj& h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj h²hh³j% h´K;ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj7 h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj4 ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j9 Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒnamed_prepare_buf”sbŒc.named_prepare_buf”†”asbuh1hhj h²hh³j% h´K;ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjX h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj h²hh³j% h´K;ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjf h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj h²hh³j% h´K;ubjX)�”}”(hŒnamed_prepare_buf”h]”j^)�”}”(hjU h]”hŒnamed_prepare_buf”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjs ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj h²hh³j% h´K;ubj)�”}”(hŒ/(struct net *net, u32 type, u32 size, u32 dest)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj’ h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjŽ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŸ h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŽ ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj° h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj­ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j² Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jS Œc.named_prepare_buf”†”asbuh1hhjŽ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŽ ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÜ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjŽ ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjé h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŽ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjŠ ubj%)�”}”(hŒu32 type”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j!Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jS Œc.named_prepare_buf”†”asbuh1hhjþ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj#!h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjþ ubj^)�”}”(hŒtype”h]”hŒtype”…”�”}”(hj1!h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjþ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjŠ ubj%)�”}”(hŒu32 size”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjM!h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjJ!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jO!Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jS Œc.named_prepare_buf”†”asbuh1hhjF!ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjk!h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjF!ubj^)�”}”(hŒsize”h]”hŒsize”…”�”}”(hjy!h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjF!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjŠ ubj%)�”}”(hŒu32 dest”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj•!h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj’!ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j—!Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jS Œc.named_prepare_buf”†”asbuh1hhjŽ!ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³!h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŽ!ubj^)�”}”(hŒdest”h]”hŒdest”…”�”}”(hjÁ!h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŽ!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjŠ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj h²hh³j% h´K;ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj h²hh³j% h´K;ubah}”(h]”j ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j% h´K;hj h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ+allocate & initialize a publication message”h]”hŒ+allocate & initialize a publication message”…”�”}”(hjë!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K;hjè!h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj h²hh³j% h´K;ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j"j­j"j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒì**Parameters** ``struct net *net`` the associated network namespace ``u32 type`` message type ``u32 size`` payload size ``u32 dest`` destination node **Description** The buffer returned is of size INT_H_SIZE + payload size”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj "h]”hŒ Parameters”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj "ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K?hj"ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj,"h]”hŒstruct net *net”…”�”}”(hj."h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj*"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Khj˜"ubj')�”}”(hhh]”hï)�”}”(hŒ payload size”h]”hŒ payload size”…”�”}”(hj·"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j³"h´K>hj´"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj˜"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j³"h´K>hj#"ubj)�”}”(hŒ``u32 dest`` destination node ”h]”(j )�”}”(hŒ ``u32 dest``”h]”j)�”}”(hj×"h]”hŒu32 dest”…”�”}”(hjÙ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÕ"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K?hjÑ"ubj')�”}”(hhh]”hï)�”}”(hŒdestination node”h]”hŒdestination node”…”�”}”(hjð"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jì"h´K?hjí"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÑ"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jì"h´K?hj#"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj"ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj#h]”hŒ Description”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KAhj"ubhï)�”}”(hŒ8The buffer returned is of size INT_H_SIZE + payload size”h]”hŒ8The buffer returned is of size INT_H_SIZE + payload size”…”�”}”(hj(#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K@hj"ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_named_publish (C function)”Œc.tipc_named_publish”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒLstruct sk_buff * tipc_named_publish (struct net *net, struct publication *p)”h]”j/)�”}”(hŒJstruct sk_buff *tipc_named_publish(struct net *net, struct publication *p)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjW#h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjS#h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KTubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hje#h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjS#h²hh³jd#h´KTubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjv#h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjs#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jx#Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒtipc_named_publish”sbŒc.tipc_named_publish”†”asbuh1hhjS#h²hh³jd#h´KTubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—#h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjS#h²hh³jd#h´KTubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¥#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjS#h²hh³jd#h´KTubjX)�”}”(hŒtipc_named_publish”h]”j^)�”}”(hj”#h]”hŒtipc_named_publish”…”�”}”(hj¶#h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj²#ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjS#h²hh³jd#h´KTubj)�”}”(hŒ((struct net *net, struct publication *p)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÑ#h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÍ#ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÞ#h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÍ#ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjï#h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjì#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jñ#Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j’#Œc.tipc_named_publish”†”asbuh1hhjÍ#ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj $h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÍ#ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÍ#ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj($h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÍ#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÉ#ubj%)�”}”(hŒstruct publication *p”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjA$h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj=$ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN$h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj=$ubh)�”}”(hhh]”j^)�”}”(hŒ publication”h]”hŒ publication”…”�”}”(hj_$h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj\$ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”ja$Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j’#Œc.tipc_named_publish”†”asbuh1hhj=$ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}$h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj=$ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj‹$h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj=$ubj^)�”}”(hjh]”hŒp”…”�”}”(hj˜$h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj=$ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÉ#ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjS#h²hh³jd#h´KTubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjO#h²hh³jd#h´KTubah}”(h]”jJ#ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jd#h´KThjL#h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ5tell other nodes about a new publication by this node”h]”hŒ5tell other nodes about a new publication by this node”…”�”}”(hjÁ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KThj¾$h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjL#h²hh³jd#h´KTubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÙ$j­jÙ$j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒw**Parameters** ``struct net *net`` the associated network namespace ``struct publication *p`` the new publication”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjã$h]”hŒ Parameters”…”�”}”(hjå$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjá$ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KXhjÝ$ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj%h]”hŒstruct net *net”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KUhjü$ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j%h´KUhj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjü$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j%h´KUhjù$ubj)�”}”(hŒ-``struct publication *p`` the new publication”h]”(j )�”}”(hŒ``struct publication *p``”h]”j)�”}”(hj;%h]”hŒstruct publication *p”…”�”}”(hj=%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj9%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KWhj5%ubj')�”}”(hhh]”hï)�”}”(hŒthe new publication”h]”hŒthe new publication”…”�”}”(hjT%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KVhjQ%ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj5%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jP%h´KWhjù$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÝ$ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_named_withdraw (C function)”Œc.tipc_named_withdraw”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒMstruct sk_buff * tipc_named_withdraw (struct net *net, struct publication *p)”h]”j/)�”}”(hŒKstruct sk_buff *tipc_named_withdraw(struct net *net, struct publication *p)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj•%h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj‘%h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KrubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£%h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‘%h²hh³j¢%h´Krubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj´%h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj±%ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¶%Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒtipc_named_withdraw”sbŒc.tipc_named_withdraw”†”asbuh1hhj‘%h²hh³j¢%h´KrubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕ%h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‘%h²hh³j¢%h´Krubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjã%h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj‘%h²hh³j¢%h´KrubjX)�”}”(hŒtipc_named_withdraw”h]”j^)�”}”(hjÒ%h]”hŒtipc_named_withdraw”…”�”}”(hjô%h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjð%ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj‘%h²hh³j¢%h´Krubj)�”}”(hŒ((struct net *net, struct publication *p)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj &ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj &ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj-&h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj*&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j/&Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÐ%Œc.tipc_named_withdraw”†”asbuh1hhj &ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjK&h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj &ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjY&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj &ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjf&h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj &ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj&ubj%)�”}”(hŒstruct publication *p”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj{&ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ&h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj{&ubh)�”}”(hhh]”j^)�”}”(hŒ publication”h]”hŒ publication”…”�”}”(hj�&h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjš&ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jŸ&Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÐ%Œc.tipc_named_withdraw”†”asbuh1hhj{&ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»&h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj{&ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÉ&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj{&ubj^)�”}”(hjh]”hŒp”…”�”}”(hjÖ&h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj{&ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj&ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj‘%h²hh³j¢%h´Krubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj�%h²hh³j¢%h´Krubah}”(h]”jˆ%ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j¢%h´KrhjŠ%h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ;tell other nodes about a withdrawn publication by this node”h]”hŒ;tell other nodes about a withdrawn publication by this node”…”�”}”(hjÿ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Krhjü&h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjŠ%h²hh³j¢%h´Krubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j'j­j'j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒ}**Parameters** ``struct net *net`` the associated network namespace ``struct publication *p`` the withdrawn publication”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj!'h]”hŒ Parameters”…”�”}”(hj#'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Kvhj'ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj@'h]”hŒstruct net *net”…”�”}”(hjB'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj>'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Kshj:'ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hjY'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jU'h´KshjV'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj:'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jU'h´Kshj7'ubj)�”}”(hŒ3``struct publication *p`` the withdrawn publication”h]”(j )�”}”(hŒ``struct publication *p``”h]”j)�”}”(hjy'h]”hŒstruct publication *p”…”�”}”(hj{'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjw'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Kuhjs'ubj')�”}”(hhh]”hï)�”}”(hŒthe withdrawn publication”h]”hŒthe withdrawn publication”…”�”}”(hj’'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Kthj�'ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjs'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jŽ'h´Kuhj7'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj'ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒnamed_distribute (C function)”Œc.named_distribute”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒovoid named_distribute (struct net *net, struct sk_buff_head *list, u32 dnode, struct list_head *pls, u16 seqno)”h]”j/)�”}”(hŒnvoid named_distribute(struct net *net, struct sk_buff_head *list, u32 dnode, struct list_head *pls, u16 seqno)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÓ'h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÏ'h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ'h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÏ'h²hh³já'h´K�ubjX)�”}”(hŒnamed_distribute”h]”j^)�”}”(hŒnamed_distribute”h]”hŒnamed_distribute”…”�”}”(hjô'h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjð'ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÏ'h²hh³já'h´K�ubj)�”}”(hŒY(struct net *net, struct sk_buff_head *list, u32 dnode, struct list_head *pls, u16 seqno)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj (ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj (ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj.(h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj+(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j0(Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjö'sbŒc.named_distribute”†”asbuh1hhj (ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN(h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj (ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj\(h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj (ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hji(h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj (ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj(ubj%)�”}”(hŒstruct sk_buff_head *list”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj‚(h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj~(ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�(h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj~(ubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj (h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¢(Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jJ(Œc.named_distribute”†”asbuh1hhj~(ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾(h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj~(ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÌ(h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj~(ubj^)�”}”(hŒlist”h]”hŒlist”…”�”}”(hjÙ(h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj~(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj(ubj%)�”}”(hŒ u32 dnode”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjõ(h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjò(ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j÷(Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jJ(Œc.named_distribute”†”asbuh1hhjî(ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjî(ubj^)�”}”(hŒdnode”h]”hŒdnode”…”�”}”(hj!)h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjî(ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj(ubj%)�”}”(hŒstruct list_head *pls”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj:)h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj6)ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG)h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6)ubh)�”}”(hhh]”j^)�”}”(hŒ list_head”h]”hŒ list_head”…”�”}”(hjX)h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjU)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jZ)Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jJ(Œc.named_distribute”†”asbuh1hhj6)ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjv)h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6)ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj„)h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj6)ubj^)�”}”(hŒpls”h]”hŒpls”…”�”}”(hj‘)h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj6)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj(ubj%)�”}”(hŒ u16 seqno”h]”(h)�”}”(hhh]”j^)�”}”(hŒu16”h]”hŒu16”…”�”}”(hj­)h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjª)ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¯)Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jJ(Œc.named_distribute”†”asbuh1hhj¦)ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjË)h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¦)ubj^)�”}”(hŒseqno”h]”hŒseqno”…”�”}”(hjÙ)h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¦)ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj(ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÏ'h²hh³já'h´K�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjË'h²hh³já'h´K�ubah}”(h]”jÆ'ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³já'h´K�hjÈ'h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ7prepare name info for bulk distribution to another node”h]”hŒ7prepare name info for bulk distribution to another node”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K�hj*h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÈ'h²hh³já'h´K�ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j*j­j*j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hXW**Parameters** ``struct net *net`` the associated network namespace ``struct sk_buff_head *list`` list of messages (buffers) to be returned from this function ``u32 dnode`` node to be updated ``struct list_head *pls`` linked list of publication items to be packed into buffer chain ``u16 seqno`` sequence number for this message”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj%*h]”hŒ Parameters”…”�”}”(hj'*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj#*ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K“hj*ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjD*h]”hŒstruct net *net”…”�”}”(hjF*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjB*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K�hj>*ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hj]*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jY*h´K�hjZ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj>*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jY*h´K�hj;*ubj)�”}”(hŒ[``struct sk_buff_head *list`` list of messages (buffers) to be returned from this function ”h]”(j )�”}”(hŒ``struct sk_buff_head *list``”h]”j)�”}”(hj}*h]”hŒstruct sk_buff_head *list”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj{*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´K‘hjw*ubj')�”}”(hhh]”hï)�”}”(hŒ+ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj"+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j=+h´K•hj;*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj*ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_named_node_up (C function)”Œc.tipc_named_node_up”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒFvoid tipc_named_node_up (struct net *net, u32 dnode, u16 capabilities)”h]”j/)�”}”(hŒEvoid tipc_named_node_up(struct net *net, u32 dnode, u16 capabilities)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‚+h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj~+h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KÉubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘+h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj~+h²hh³j�+h´KÉubjX)�”}”(hŒtipc_named_node_up”h]”j^)�”}”(hŒtipc_named_node_up”h]”hŒtipc_named_node_up”…”�”}”(hj£+h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŸ+ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj~+h²hh³j�+h´KÉubj)�”}”(hŒ.(struct net *net, u32 dnode, u16 capabilities)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¿+h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj»+ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌ+h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj»+ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjÝ+h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÚ+ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jß+Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¥+sbŒc.tipc_named_node_up”†”asbuh1hhj»+ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjý+h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj»+ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj ,h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj»+ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj»+ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj·+ubj%)�”}”(hŒ u32 dnode”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj4,h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj1,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j6,Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jù+Œc.tipc_named_node_up”†”asbuh1hhj-,ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjR,h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj-,ubj^)�”}”(hŒdnode”h]”hŒdnode”…”�”}”(hj`,h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj-,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj·+ubj%)�”}”(hŒu16 capabilities”h]”(h)�”}”(hhh]”j^)�”}”(hŒu16”h]”hŒu16”…”�”}”(hj|,h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjy,ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j~,Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jù+Œc.tipc_named_node_up”†”asbuh1hhju,ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš,h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhju,ubj^)�”}”(hŒ capabilities”h]”hŒ capabilities”…”�”}”(hj¨,h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hju,ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj·+ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj~+h²hh³j�+h´KÉubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjz+h²hh³j�+h´KÉubah}”(h]”ju+ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j�+h´KÉhjw+h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ7tell specified node about all publications by this node”h]”hŒ7tell specified node about all publications by this node”…”�”}”(hjÒ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KÉhjÏ,h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjw+h²hh³j�+h´KÉubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jê,j­jê,j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒ™**Parameters** ``struct net *net`` the associated network namespace ``u32 dnode`` destination node ``u16 capabilities`` peer node's capabilities”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjô,h]”hŒ Parameters”…”�”}”(hjö,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjò,ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KÍhjî,ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj-h]”hŒstruct net *net”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KÊhj -ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hj,-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j(-h´KÊhj)-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj -ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j(-h´KÊhj -ubj)�”}”(hŒ``u32 dnode`` destination node ”h]”(j )�”}”(hŒ ``u32 dnode``”h]”j)�”}”(hjL-h]”hŒ u32 dnode”…”�”}”(hjN-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjJ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KËhjF-ubj')�”}”(hhh]”hï)�”}”(hŒdestination node”h]”hŒdestination node”…”�”}”(hje-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ja-h´KËhjb-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjF-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³ja-h´KËhj -ubj)�”}”(hŒ-``u16 capabilities`` peer node's capabilities”h]”(j )�”}”(hŒ``u16 capabilities``”h]”j)�”}”(hj…-h]”hŒu16 capabilities”…”�”}”(hj‡-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjƒ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KÍhj-ubj')�”}”(hhh]”hï)�”}”(hŒpeer node's capabilities”h]”hŒpeer node’s capabilities”…”�”}”(hjž-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KÌhj›-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jš-h´KÍhj -ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjî,ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_publ_purge (C function)”Œc.tipc_publ_purge”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒGvoid tipc_publ_purge (struct net *net, struct publication *p, u32 addr)”h]”j/)�”}”(hŒFvoid tipc_publ_purge(struct net *net, struct publication *p, u32 addr)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjß-h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÛ-h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KãubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjî-h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÛ-h²hh³jí-h´KãubjX)�”}”(hŒtipc_publ_purge”h]”j^)�”}”(hŒtipc_publ_purge”h]”hŒtipc_publ_purge”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjü-ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÛ-h²hh³jí-h´Kãubj)�”}”(hŒ2(struct net *net, struct publication *p, u32 addr)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj.ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj).h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj.ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj:.h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj7.ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j<.Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj.sbŒc.tipc_publ_purge”†”asbuh1hhj.ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZ.h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj.ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjh.h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj.ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hju.h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj.ubj%)�”}”(hŒstruct publication *p”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjŽ.h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjŠ.ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›.h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŠ.ubh)�”}”(hhh]”j^)�”}”(hŒ publication”h]”hŒ publication”…”�”}”(hj¬.h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj©.ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j®.Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jV.Œc.tipc_publ_purge”†”asbuh1hhjŠ.ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊ.h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŠ.ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjØ.h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjŠ.ubj^)�”}”(hjh]”hŒp”…”�”}”(hjå.h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŠ.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj.ubj%)�”}”(hŒu32 addr”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjý.ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j/Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jV.Œc.tipc_publ_purge”†”asbuh1hhjù.ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjù.ubj^)�”}”(hŒaddr”h]”hŒaddr”…”�”}”(hj,/h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjù.ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj.ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÛ-h²hh³jí-h´Kãubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj×-h²hh³jí-h´Kãubah}”(h]”jÒ-ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jí-h´KãhjÔ-h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ0remove publication associated with a failed node”h]”hŒ0remove publication associated with a failed node”…”�”}”(hjV/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KãhjS/h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÔ-h²hh³jí-h´Kãubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jn/j­jn/j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hX-**Parameters** ``struct net *net`` the associated network namespace ``struct publication *p`` the publication to remove ``u32 addr`` failed node's address **Description** Invoked for each publication issued by a newly failed node. Removes publication structure from name table & deletes it.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjx/h]”hŒ Parameters”…”�”}”(hjz/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjv/ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Kçhjr/ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj—/h]”hŒstruct net *net”…”�”}”(hj™/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•/ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Kähj‘/ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hj°/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¬/h´Kähj­/ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj‘/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¬/h´KähjŽ/ubj)�”}”(hŒ4``struct publication *p`` the publication to remove ”h]”(j )�”}”(hŒ``struct publication *p``”h]”j)�”}”(hjÐ/h]”hŒstruct publication *p”…”�”}”(hjÒ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÎ/ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´KåhjÊ/ubj')�”}”(hhh]”hï)�”}”(hŒthe publication to remove”h]”hŒthe publication to remove”…”�”}”(hjé/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jå/h´Kåhjæ/ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÊ/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jå/h´KåhjŽ/ubj)�”}”(hŒ#``u32 addr`` failed node's address ”h]”(j )�”}”(hŒ ``u32 addr``”h]”j)�”}”(hj 0h]”hŒu32 addr”…”�”}”(hj 0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Kæhj0ubj')�”}”(hhh]”hï)�”}”(hŒfailed node's address”h]”hŒfailed node’s address”…”�”}”(hj"0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j0h´Kæhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j0h´KæhjŽ/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjr/ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjD0h]”hŒ Description”…”�”}”(hjF0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjB0ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Kèhjr/ubhï)�”}”(hŒwInvoked for each publication issued by a newly failed node. Removes publication structure from name table & deletes it.”h]”hŒwInvoked for each publication issued by a newly failed node. Removes publication structure from name table & deletes it.”…”�”}”(hjZ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Kçhjr/ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_update_nametbl (C function)”Œc.tipc_update_nametbl”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒUbool tipc_update_nametbl (struct net *net, struct distr_item *i, u32 node, u32 dtype)”h]”j/)�”}”(hŒTbool tipc_update_nametbl(struct net *net, struct distr_item *i, u32 node, u32 dtype)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hj‰0h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj…0h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´M ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—0h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj…0h²hh³j–0h´M ubjX)�”}”(hŒtipc_update_nametbl”h]”j^)�”}”(hŒtipc_update_nametbl”h]”hŒtipc_update_nametbl”…”�”}”(hj©0h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¥0ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj…0h²hh³j–0h´M ubj)�”}”(hŒ<(struct net *net, struct distr_item *i, u32 node, u32 dtype)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÅ0h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÁ0ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒ0h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÁ0ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjã0h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjà0ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jå0Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj«0sbŒc.tipc_update_nametbl”†”asbuh1hhjÁ0ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÁ0ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÁ0ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÁ0ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj½0ubj%)�”}”(hŒstruct distr_item *i”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj71h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj31ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjD1h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj31ubh)�”}”(hhh]”j^)�”}”(hŒ distr_item”h]”hŒ distr_item”…”�”}”(hjU1h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjR1ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jW1Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÿ0Œc.tipc_update_nametbl”†”asbuh1hhj31ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs1h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj31ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj�1h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj31ubj^)�”}”(hj­h]”hŒi”…”�”}”(hjŽ1h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj31ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj½0ubj%)�”}”(hŒu32 node”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj©1h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¦1ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j«1Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÿ0Œc.tipc_update_nametbl”†”asbuh1hhj¢1ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇ1h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¢1ubj^)�”}”(hŒnode”h]”hŒnode”…”�”}”(hjÕ1h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¢1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj½0ubj%)�”}”(hŒ u32 dtype”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjñ1h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjî1ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jó1Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÿ0Œc.tipc_update_nametbl”†”asbuh1hhjê1ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjê1ubj^)�”}”(hŒdtype”h]”hŒdtype”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjê1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj½0ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj…0h²hh³j–0h´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj�0h²hh³j–0h´M ubah}”(h]”j|0ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j–0h´M hj~0h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ8try to process a nametable update and notify subscribers”h]”hŒ8try to process a nametable update and notify subscribers”…”�”}”(hjG2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´M hjD2h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj~0h²hh³j–0h´M ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j_2j­j_2j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hXA**Parameters** ``struct net *net`` the associated network namespace ``struct distr_item *i`` location of item in the message ``u32 node`` node address ``u32 dtype`` name distributor message type **Description** tipc_nametbl_lock must be held. **Return** the publication item if successful, otherwise NULL.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hji2h]”hŒ Parameters”…”�”}”(hjk2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjg2ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mhjc2ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjˆ2h]”hŒstruct net *net”…”�”}”(hjŠ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj†2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mhj‚2ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hj¡2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j�2h´Mhjž2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj‚2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�2h´Mhj2ubj)�”}”(hŒ9``struct distr_item *i`` location of item in the message ”h]”(j )�”}”(hŒ``struct distr_item *i``”h]”j)�”}”(hjÁ2h]”hŒstruct distr_item *i”…”�”}”(hjÃ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¿2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mhj»2ubj')�”}”(hhh]”hï)�”}”(hŒlocation of item in the message”h]”hŒlocation of item in the message”…”�”}”(hjÚ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÖ2h´Mhj×2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj»2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÖ2h´Mhj2ubj)�”}”(hŒ``u32 node`` node address ”h]”(j )�”}”(hŒ ``u32 node``”h]”j)�”}”(hjú2h]”hŒu32 node”…”�”}”(hjü2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjø2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mhjô2ubj')�”}”(hhh]”hï)�”}”(hŒ node address”h]”hŒ node address”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j3h´Mhj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjô2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j3h´Mhj2ubj)�”}”(hŒ,``u32 dtype`` name distributor message type ”h]”(j )�”}”(hŒ ``u32 dtype``”h]”j)�”}”(hj33h]”hŒ u32 dtype”…”�”}”(hj53h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj13ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mhj-3ubj')�”}”(hhh]”hï)�”}”(hŒname distributor message type”h]”hŒname distributor message type”…”�”}”(hjL3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jH3h´MhjI3ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj-3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jH3h´Mhj2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjc2ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjn3h]”hŒ Description”…”�”}”(hjp3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjl3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mhjc2ubhï)�”}”(hŒtipc_nametbl_lock must be held.”h]”hŒtipc_nametbl_lock must be held.”…”�”}”(hj„3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mhjc2ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj•3h]”hŒReturn”…”�”}”(hj—3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj“3ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mhjc2ubhï)�”}”(hŒ3the publication item if successful, otherwise NULL.”h]”hŒ3the publication item if successful, otherwise NULL.”…”�”}”(hj«3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mhjc2ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_named_rcv (C function)”Œc.tipc_named_rcv”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ\void tipc_named_rcv (struct net *net, struct sk_buff_head *namedq, u16 *rcv_nxt, bool *open)”h]”j/)�”}”(hŒ[void tipc_named_rcv(struct net *net, struct sk_buff_head *namedq, u16 *rcv_nxt, bool *open)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÚ3h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÖ3h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´MoubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjé3h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÖ3h²hh³jè3h´MoubjX)�”}”(hŒtipc_named_rcv”h]”j^)�”}”(hŒtipc_named_rcv”h]”hŒtipc_named_rcv”…”�”}”(hjû3h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj÷3ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÖ3h²hh³jè3h´Moubj)�”}”(hŒH(struct net *net, struct sk_buff_head *namedq, u16 *rcv_nxt, bool *open)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj4ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$4h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj4ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj54h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj24ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j74Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjý3sbŒc.tipc_named_rcv”†”asbuh1hhj4ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU4h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj4ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjc4h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj4ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjp4h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj4ubj%)�”}”(hŒstruct sk_buff_head *namedq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj‰4h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj…4ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–4h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj…4ubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj§4h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¤4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j©4Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jQ4Œc.tipc_named_rcv”†”asbuh1hhj…4ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅ4h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj…4ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÓ4h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj…4ubj^)�”}”(hŒnamedq”h]”hŒnamedq”…”�”}”(hjà4h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj…4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj4ubj%)�”}”(hŒ u16 *rcv_nxt”h]”(h)�”}”(hhh]”j^)�”}”(hŒu16”h]”hŒu16”…”�”}”(hjü4h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjù4ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jþ4Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jQ4Œc.tipc_named_rcv”†”asbuh1hhjõ4ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjõ4ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj(5h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjõ4ubj^)�”}”(hŒrcv_nxt”h]”hŒrcv_nxt”…”�”}”(hj55h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjõ4ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj4ubj%)�”}”(hŒ bool *open”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjN5h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjJ5ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[5h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjJ5ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hji5h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjJ5ubj^)�”}”(hŒopen”h]”hŒopen”…”�”}”(hjv5h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjJ5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj4ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÖ3h²hh³jè3h´Moubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÒ3h²hh³jè3h´Moubah}”(h]”jÍ3ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jè3h´MohjÏ3h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ7process name table update messages sent by another node”h]”hŒ7process name table update messages sent by another node”…”�”}”(hj 5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mohj�5h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÏ3h²hh³jè3h´Moubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j¸5j­j¸5j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒç**Parameters** ``struct net *net`` the associated network namespace ``struct sk_buff_head *namedq`` queue to receive from ``u16 *rcv_nxt`` store last received seqno here ``bool *open`` last bulk msg was received (FIXME)”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÂ5h]”hŒ Parameters”…”�”}”(hjÄ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÀ5ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mshj¼5ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjá5h]”hŒstruct net *net”…”�”}”(hjã5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjß5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´MphjÛ5ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hjú5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jö5h´Mphj÷5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÛ5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jö5h´MphjØ5ubj)�”}”(hŒ6``struct sk_buff_head *namedq`` queue to receive from ”h]”(j )�”}”(hŒ``struct sk_buff_head *namedq``”h]”j)�”}”(hj6h]”hŒstruct sk_buff_head *namedq”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mqhj6ubj')�”}”(hhh]”hï)�”}”(hŒqueue to receive from”h]”hŒqueue to receive from”…”�”}”(hj36h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j/6h´Mqhj06ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j/6h´MqhjØ5ubj)�”}”(hŒ0``u16 *rcv_nxt`` store last received seqno here ”h]”(j )�”}”(hŒ``u16 *rcv_nxt``”h]”j)�”}”(hjS6h]”hŒ u16 *rcv_nxt”…”�”}”(hjU6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjQ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´MrhjM6ubj')�”}”(hhh]”hï)�”}”(hŒstore last received seqno here”h]”hŒstore last received seqno here”…”�”}”(hjl6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jh6h´Mrhji6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjM6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh6h´MrhjØ5ubj)�”}”(hŒ1``bool *open`` last bulk msg was received (FIXME)”h]”(j )�”}”(hŒ``bool *open``”h]”j)�”}”(hjŒ6h]”hŒ bool *open”…”�”}”(hjŽ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mthj†6ubj')�”}”(hhh]”hï)�”}”(hŒ"last bulk msg was received (FIXME)”h]”hŒ"last bulk msg was received (FIXME)”…”�”}”(hj¥6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´Mshj¢6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj†6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¡6h´MthjØ5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj¼5ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_named_reinit (C function)”Œc.tipc_named_reinit”hNt”auh1jhj6ýh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ(void tipc_named_reinit (struct net *net)”h]”j/)�”}”(hŒ'void tipc_named_reinit(struct net *net)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjæ6h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjâ6h²hh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´MŽubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõ6h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjâ6h²hh³jô6h´MŽubjX)�”}”(hŒtipc_named_reinit”h]”j^)�”}”(hŒtipc_named_reinit”h]”hŒtipc_named_reinit”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj7ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjâ6h²hh³jô6h´MŽubj)�”}”(hŒ(struct net *net)”h]”j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj#7h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj7ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj07h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj7ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjA7h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj>7ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jC7Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj 7sbŒc.tipc_named_reinit”†”asbuh1hhj7ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hja7h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj7ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjo7h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj7ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj|7h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj7ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj7ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjâ6h²hh³jô6h´MŽubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÞ6h²hh³jô6h´MŽubah}”(h]”jÙ6ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jô6h´MŽhjÛ6h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ re-initialize local publications”h]”hŒ re-initialize local publications”…”�”}”(hj¦7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´MŽhj£7h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÛ6h²hh³jô6h´MŽubeh}”(h]”h ]”(j¦Œfunction”e•h"]”h$]”h&]”j«j¦j¬j¾7j­j¾7j®‰j¯‰j°‰uh1j#h²hhj6ýh³Nh´Nubj²)�”}”(hŒù**Parameters** ``struct net *net`` the associated network namespace **Description** This routine is called whenever TIPC networking is enabled. All name table entries published by this node are updated to reflect the node's new network address.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÈ7h]”hŒ Parameters”…”�”}”(hjÊ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÆ7ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´M’hjÂ7ubj)�”}”(hhh]”j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjç7h]”hŒstruct net *net”…”�”}”(hjé7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjå7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´M�hjá7ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jü7h´M�hjý7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjá7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jü7h´M�hjÞ7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÂ7ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj"8h]”hŒ Description”…”�”}”(hj$8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj 8ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´M‘hjÂ7ubhï)�”}”(hŒ This routine is called whenever TIPC networking is enabled. All name table entries published by this node are updated to reflect the node's new network address.”h]”hŒ¢This routine is called whenever TIPC networking is enabled. All name table entries published by this node are updated to reflect the node’s new network address.”…”�”}”(hj88h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒV/var/lib/git/docbuild/linux/Documentation/networking/tipc:184: ./net/tipc/name_distr.c”h´M�hjÂ7ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj6ýh²hh³Nh´Nubeh}”(h]”Œtipc-name-interfaces”ah ]”h"]”Œtipc name interfaces”ah$]”h&]”uh1hÈhjâh²hh³hÇh´K³ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTIPC Node Management Interfaces”h]”hŒTIPC Node Management Interfaces”…”�”}”(hjY8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjV8h²hh³hÇh´K¼ubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_node (C struct)”Œ c.tipc_node”hNt”auh1jhjV8h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ tipc_node”h]”j/)�”}”(hŒstruct tipc_node”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj€8h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj|8h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽ8h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj|8h²hh³j�8h´KubjX)�”}”(hŒ tipc_node”h]”j^)�”}”(hjz8h]”hŒ tipc_node”…”�”}”(hj 8h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjœ8ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj|8h²hh³j�8h´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjx8h²hh³j�8h´Kubah}”(h]”js8ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j�8h´Khju8h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒTIPC node structure”h]”hŒTIPC node structure”…”�”}”(hjÂ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KShj¿8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hju8h²hh³j�8h´Kubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬jÚ8j­jÚ8j®‰j¯‰j°‰uh1j#h²hhjV8h³Nh´Nubj²)�”}”(hX… **Definition**:: struct tipc_node { u32 addr; struct kref kref; rwlock_t lock; struct net *net; struct hlist_node hash; int active_links[2]; struct tipc_link_entry links[MAX_BEARERS]; struct tipc_bclink_entry bc_entry; int action_flags; struct list_head list; int state; bool preliminary; bool failover_sent; u16 sync_point; int link_cnt; u16 working_links; u16 capabilities; u32 signature; u32 link_id; u8 peer_id[16]; char peer_id_string[NODE_ID_STR_LEN]; struct list_head publ_list; struct list_head conn_sks; unsigned long keepalive_intv; struct timer_list timer; struct rcu_head rcu; unsigned long delete_at; struct net *peer_net; u32 peer_hash_mix; #ifdef CONFIG_TIPC_CRYPTO; struct tipc_crypto *crypto_rx; #endif; }; **Members** ``addr`` network address of node ``kref`` reference counter to node object ``lock`` rwlock governing access to structure ``net`` the applicable net namespace ``hash`` links to adjacent nodes in unsorted hash chain ``active_links`` bearer ids of active links, used as index into links[] array ``links`` array containing references to all links to node ``bc_entry`` broadcast link entry ``action_flags`` bit mask of different types of node actions ``list`` links to adjacent nodes in sorted list of cluster's nodes ``state`` connectivity state vs peer node ``preliminary`` a preliminary node or not ``failover_sent`` failover sent or not ``sync_point`` sequence number where synch/failover is finished ``link_cnt`` number of links to node ``working_links`` number of working links to node (both active and standby) ``capabilities`` bitmap, indicating peer node's functional capabilities ``signature`` node instance identifier ``link_id`` local and remote bearer ids of changing link, if any ``peer_id`` 128-bit ID of peer ``peer_id_string`` ID string of peer ``publ_list`` list of publications ``conn_sks`` list of connections (FIXME) ``keepalive_intv`` keepalive interval in milliseconds ``timer`` node's keepalive timer ``rcu`` rcu struct for tipc_node ``delete_at`` indicates the time for deleting a down node ``peer_net`` peer's net namespace ``peer_hash_mix`` hash for this peer (FIXME) ``crypto_rx`` RX crypto handler”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjæ8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjâ8ubhŒ:”…”�”}”(hjâ8h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KWhjÞ8ubj×)�”}”(hX:struct tipc_node { u32 addr; struct kref kref; rwlock_t lock; struct net *net; struct hlist_node hash; int active_links[2]; struct tipc_link_entry links[MAX_BEARERS]; struct tipc_bclink_entry bc_entry; int action_flags; struct list_head list; int state; bool preliminary; bool failover_sent; u16 sync_point; int link_cnt; u16 working_links; u16 capabilities; u32 signature; u32 link_id; u8 peer_id[16]; char peer_id_string[NODE_ID_STR_LEN]; struct list_head publ_list; struct list_head conn_sks; unsigned long keepalive_intv; struct timer_list timer; struct rcu_head rcu; unsigned long delete_at; struct net *peer_net; u32 peer_hash_mix; #ifdef CONFIG_TIPC_CRYPTO; struct tipc_crypto *crypto_rx; #endif; };”h]”hX:struct tipc_node { u32 addr; struct kref kref; rwlock_t lock; struct net *net; struct hlist_node hash; int active_links[2]; struct tipc_link_entry links[MAX_BEARERS]; struct tipc_bclink_entry bc_entry; int action_flags; struct list_head list; int state; bool preliminary; bool failover_sent; u16 sync_point; int link_cnt; u16 working_links; u16 capabilities; u32 signature; u32 link_id; u8 peer_id[16]; char peer_id_string[NODE_ID_STR_LEN]; struct list_head publ_list; struct list_head conn_sks; unsigned long keepalive_intv; struct timer_list timer; struct rcu_head rcu; unsigned long delete_at; struct net *peer_net; u32 peer_hash_mix; #ifdef CONFIG_TIPC_CRYPTO; struct tipc_crypto *crypto_rx; #endif; };”…”�”}”hjÿ8sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KYhjÞ8ubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hj9h]”hŒMembers”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´K|hjÞ8ubj)�”}”(hhh]”(j)�”}”(hŒ!``addr`` network address of node ”h]”(j )�”}”(hŒ``addr``”h]”j)�”}”(hj/9h]”hŒaddr”…”�”}”(hj19h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KUhj)9ubj')�”}”(hhh]”hï)�”}”(hŒnetwork address of node”h]”hŒnetwork address of node”…”�”}”(hjH9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jD9h´KUhjE9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj)9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jD9h´KUhj&9ubj)�”}”(hŒ*``kref`` reference counter to node object ”h]”(j )�”}”(hŒ``kref``”h]”j)�”}”(hjh9h]”hŒkref”…”�”}”(hjj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjf9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KVhjb9ubj')�”}”(hhh]”hï)�”}”(hŒ reference counter to node object”h]”hŒ reference counter to node object”…”�”}”(hj�9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j}9h´KVhj~9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjb9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j}9h´KVhj&9ubj)�”}”(hŒ.``lock`` rwlock governing access to structure ”h]”(j )�”}”(hŒ``lock``”h]”j)�”}”(hj¡9h]”hŒlock”…”�”}”(hj£9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŸ9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KWhj›9ubj')�”}”(hhh]”hï)�”}”(hŒ$rwlock governing access to structure”h]”hŒ$rwlock governing access to structure”…”�”}”(hjº9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¶9h´KWhj·9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj›9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¶9h´KWhj&9ubj)�”}”(hŒ%``net`` the applicable net namespace ”h]”(j )�”}”(hŒ``net``”h]”j)�”}”(hjÚ9h]”hŒnet”…”�”}”(hjÜ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjØ9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KXhjÔ9ubj')�”}”(hhh]”hï)�”}”(hŒthe applicable net namespace”h]”hŒthe applicable net namespace”…”�”}”(hjó9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jï9h´KXhjð9ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÔ9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jï9h´KXhj&9ubj)�”}”(hŒ8``hash`` links to adjacent nodes in unsorted hash chain ”h]”(j )�”}”(hŒ``hash``”h]”j)�”}”(hj:h]”hŒhash”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KYhj :ubj')�”}”(hhh]”hï)�”}”(hŒ.links to adjacent nodes in unsorted hash chain”h]”hŒ.links to adjacent nodes in unsorted hash chain”…”�”}”(hj,:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j(:h´KYhj):ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj :ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j(:h´KYhj&9ubj)�”}”(hŒN``active_links`` bearer ids of active links, used as index into links[] array ”h]”(j )�”}”(hŒ``active_links``”h]”j)�”}”(hjL:h]”hŒ active_links”…”�”}”(hjN:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjJ:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KZhjF:ubj')�”}”(hhh]”hï)�”}”(hŒh]”hŒconn_sks”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Kkhj>ubj')�”}”(hhh]”hï)�”}”(hŒlist of connections (FIXME)”h]”hŒlist of connections (FIXME)”…”�”}”(hj.>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j*>h´Kkhj+>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j*>h´Kkhj&9ubj)�”}”(hŒ6``keepalive_intv`` keepalive interval in milliseconds ”h]”(j )�”}”(hŒ``keepalive_intv``”h]”j)�”}”(hjN>h]”hŒkeepalive_intv”…”�”}”(hjP>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjL>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´KmhjH>ubj')�”}”(hhh]”hï)�”}”(hŒ"keepalive interval in milliseconds”h]”hŒ"keepalive interval in milliseconds”…”�”}”(hjg>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jc>h´Kmhjd>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjH>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jc>h´Kmhj&9ubj)�”}”(hŒ!``timer`` node's keepalive timer ”h]”(j )�”}”(hŒ ``timer``”h]”j)�”}”(hj‡>h]”hŒtimer”…”�”}”(hj‰>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj…>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Klhj�>ubj')�”}”(hhh]”hï)�”}”(hŒnode's keepalive timer”h]”hŒnode’s keepalive timer”…”�”}”(hj >h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jœ>h´Klhj�>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jœ>h´Klhj&9ubj)�”}”(hŒ!``rcu`` rcu struct for tipc_node ”h]”(j )�”}”(hŒ``rcu``”h]”j)�”}”(hjÀ>h]”hŒrcu”…”�”}”(hjÂ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¾>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Knhjº>ubj')�”}”(hhh]”hï)�”}”(hŒrcu struct for tipc_node”h]”hŒrcu struct for tipc_node”…”�”}”(hjÙ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÕ>h´KnhjÖ>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjº>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÕ>h´Knhj&9ubj)�”}”(hŒ:``delete_at`` indicates the time for deleting a down node ”h]”(j )�”}”(hŒ ``delete_at``”h]”j)�”}”(hjù>h]”hŒ delete_at”…”�”}”(hjû>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Kohjó>ubj')�”}”(hhh]”hï)�”}”(hŒ+indicates the time for deleting a down node”h]”hŒ+indicates the time for deleting a down node”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j?h´Kohj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjó>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j?h´Kohj&9ubj)�”}”(hŒ"``peer_net`` peer's net namespace ”h]”(j )�”}”(hŒ ``peer_net``”h]”j)�”}”(hj2?h]”hŒpeer_net”…”�”}”(hj4?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Kphj,?ubj')�”}”(hhh]”hï)�”}”(hŒpeer's net namespace”h]”hŒpeer’s net namespace”…”�”}”(hjK?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jG?h´KphjH?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj,?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jG?h´Kphj&9ubj)�”}”(hŒ-``peer_hash_mix`` hash for this peer (FIXME) ”h]”(j )�”}”(hŒ``peer_hash_mix``”h]”j)�”}”(hjk?h]”hŒ peer_hash_mix”…”�”}”(hjm?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhji?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Kqhje?ubj')�”}”(hhh]”hï)�”}”(hŒhash for this peer (FIXME)”h]”hŒhash for this peer (FIXME)”…”�”}”(hj„?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j€?h´Kqhj�?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hje?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j€?h´Kqhj&9ubj)�”}”(hŒ``crypto_rx`` RX crypto handler”h]”(j )�”}”(hŒ ``crypto_rx``”h]”j)�”}”(hj¤?h]”hŒ crypto_rx”…”�”}”(hj¦?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Kqhjž?ubj')�”}”(hhh]”hï)�”}”(hŒRX crypto handler”h]”hŒRX crypto handler”…”�”}”(hj½?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Krhjº?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjž?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¹?h´Kqhj&9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÞ8ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjV8h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ tipc_node_crypto_rx (C function)”Œc.tipc_node_crypto_rx”hNt”auh1jhjV8h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ@struct tipc_crypto * tipc_node_crypto_rx (struct tipc_node *__n)”h]”j/)�”}”(hŒ>struct tipc_crypto *tipc_node_crypto_rx(struct tipc_node *__n)”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjþ?h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjú?h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj @h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjú?h²hh³j @h´Mubh)�”}”(hhh]”j^)�”}”(hŒ tipc_crypto”h]”hŒ tipc_crypto”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j@Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕŒtipc_node_crypto_rx”sbŒc.tipc_node_crypto_rx”†”asbuh1hhjú?h²hh³j @h´MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>@h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjú?h²hh³j @h´Mubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjL@h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjú?h²hh³j @h´MubjX)�”}”(hŒtipc_node_crypto_rx”h]”j^)�”}”(hj;@h]”hŒtipc_node_crypto_rx”…”�”}”(hj]@h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjY@ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjú?h²hh³j @h´Mubj)�”}”(hŒ(struct tipc_node *__n)”h]”j%)�”}”(hŒstruct tipc_node *__n”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjx@h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjt@ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…@h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjt@ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_node”h]”hŒ tipc_node”…”�”}”(hj–@h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj“@ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j˜@Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j9@Œc.tipc_node_crypto_rx”†”asbuh1hhjt@ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´@h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjt@ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÂ@h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjt@ubj^)�”}”(hŒ__n”h]”hŒ__n”…”�”}”(hjÏ@h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjt@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjp@ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjú?h²hh³j @h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjö?h²hh³j @h´Mubah}”(h]”jñ?ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j @h´Mhjó?h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ#Retrieve crypto RX handle from node”h]”hŒ#Retrieve crypto RX handle from node”…”�”}”(hjù@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Mhjö@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjó?h²hh³j @h´Mubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jAj­jAj®‰j¯‰j°‰uh1j#h²hhjV8h³Nh´Nubj²)�”}”(hŒl**Parameters** ``struct tipc_node *__n`` target tipc_node **Note** node ref counter must be held first!”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjAh]”hŒ Parameters”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjAubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MhjAubj)�”}”(hhh]”j)�”}”(hŒ+``struct tipc_node *__n`` target tipc_node ”h]”(j )�”}”(hŒ``struct tipc_node *__n``”h]”j)�”}”(hj:Ah]”hŒstruct tipc_node *__n”…”�”}”(hjCubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MUhj:Cubj)�”}”(hhh]”(j)�”}”(hŒ)``struct tipc_node *n`` target tipc_node ”h]”(j )�”}”(hŒ``struct tipc_node *n``”h]”j)�”}”(hj_Ch]”hŒstruct tipc_node *n”…”�”}”(hjaCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj]Cubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MRhjYCubj')�”}”(hhh]”hï)�”}”(hŒtarget tipc_node”h]”hŒtarget tipc_node”…”�”}”(hjxCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jtCh´MRhjuCubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjYCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jtCh´MRhjVCubj)�”}”(hŒ#``int bearer_id`` id of the bearer ”h]”(j )�”}”(hŒ``int bearer_id``”h]”j)�”}”(hj˜Ch]”hŒ int bearer_id”…”�”}”(hjšCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj–Cubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MShj’Cubj')�”}”(hhh]”hï)�”}”(hŒid of the bearer”h]”hŒid of the bearer”…”�”}”(hj±Ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j­Ch´MShj®Cubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj’Cubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j­Ch´MShjVCubj)�”}”(hŒ¯``struct sk_buff_head *xmitq`` queue for messages to be xmited on Node lock must be held by caller Link becomes active (alone or shared) or standby, depending on its priority.”h]”(j )�”}”(hŒ``struct sk_buff_head *xmitq``”h]”j)�”}”(hjÑCh]”hŒstruct sk_buff_head *xmitq”…”�”}”(hjÓCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÏCubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MUhjËCubj')�”}”(hhh]”hï)�”}”(hŒ�queue for messages to be xmited on Node lock must be held by caller Link becomes active (alone or shared) or standby, depending on its priority.”h]”hŒ�queue for messages to be xmited on Node lock must be held by caller Link becomes active (alone or shared) or standby, depending on its priority.”…”�”}”(hjêCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MThjçCubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjËCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jæCh´MUhjVCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj:Cubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjV8h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_node_link_up (C function)”Œc.tipc_node_link_up”hNt”auh1jhjV8h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒWvoid tipc_node_link_up (struct tipc_node *n, int bearer_id, struct sk_buff_head *xmitq)”h]”j/)�”}”(hŒVvoid tipc_node_link_up(struct tipc_node *n, int bearer_id, struct sk_buff_head *xmitq)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj+Dh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj'Dh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M–ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Dh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj'Dh²hh³j9Dh´M–ubjX)�”}”(hŒtipc_node_link_up”h]”j^)�”}”(hŒtipc_node_link_up”h]”hŒtipc_node_link_up”…”�”}”(hjLDh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjHDubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj'Dh²hh³j9Dh´M–ubj)�”}”(hŒ@(struct tipc_node *n, int bearer_id, struct sk_buff_head *xmitq)”h]”(j%)�”}”(hŒstruct tipc_node *n”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjhDh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjdDubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuDh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjdDubh)�”}”(hhh]”j^)�”}”(hŒ tipc_node”h]”hŒ tipc_node”…”�”}”(hj†Dh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjƒDubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jˆDŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjNDsbŒc.tipc_node_link_up”†”asbuh1hhjdDubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦Dh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjdDubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj´Dh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjdDubj^)�”}”(hjih]”hŒn”…”�”}”(hjÁDh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjdDubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj`Dubj%)�”}”(hŒ int bearer_id”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÙDh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÕDubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçDh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÕDubj^)�”}”(hŒ bearer_id”h]”hŒ bearer_id”…”�”}”(hjõDh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÕDubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj`Dubj%)�”}”(hŒstruct sk_buff_head *xmitq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj EubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Eubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj,Eh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj)Eubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j.EŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¢DŒc.tipc_node_link_up”†”asbuh1hhj EubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJEh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Eubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjXEh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj Eubj^)�”}”(hŒxmitq”h]”hŒxmitq”…”�”}”(hjeEh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj Eubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj`Dubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj'Dh²hh³j9Dh´M–ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj#Dh²hh³j9Dh´M–ubah}”(h]”jDah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j9Dh´M–hj Dh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒhandle addition of link”h]”hŒhandle addition of link”…”�”}”(hj�Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M–hjŒEh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj Dh²hh³j9Dh´M–ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j§Ej­j§Ej®‰j¯‰j°‰uh1j#h²hhjV8h³Nh´Nubj²)�”}”(hX**Parameters** ``struct tipc_node *n`` target tipc_node ``int bearer_id`` id of the bearer ``struct sk_buff_head *xmitq`` queue for messages to be xmited on **Description** Link becomes active (alone or shared) or standby, depending on its priority.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj±Eh]”hŒ Parameters”…”�”}”(hj³Eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¯Eubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Mšhj«Eubj)�”}”(hhh]”(j)�”}”(hŒ)``struct tipc_node *n`` target tipc_node ”h]”(j )�”}”(hŒ``struct tipc_node *n``”h]”j)�”}”(hjÐEh]”hŒstruct tipc_node *n”…”�”}”(hjÒEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÎEubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M—hjÊEubj')�”}”(hhh]”hï)�”}”(hŒtarget tipc_node”h]”hŒtarget tipc_node”…”�”}”(hjéEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jåEh´M—hjæEubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÊEubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jåEh´M—hjÇEubj)�”}”(hŒ#``int bearer_id`` id of the bearer ”h]”(j )�”}”(hŒ``int bearer_id``”h]”j)�”}”(hj Fh]”hŒ int bearer_id”…”�”}”(hj Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M˜hjFubj')�”}”(hhh]”hï)�”}”(hŒid of the bearer”h]”hŒid of the bearer”…”�”}”(hj"Fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jFh´M˜hjFubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjFubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jFh´M˜hjÇEubj)�”}”(hŒB``struct sk_buff_head *xmitq`` queue for messages to be xmited on ”h]”(j )�”}”(hŒ``struct sk_buff_head *xmitq``”h]”j)�”}”(hjBFh]”hŒstruct sk_buff_head *xmitq”…”�”}”(hjDFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj@Fubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M™hj, <1B-2B> down 2. Link endpoint 2A up, but 1A still down (e.g. due to network disturbance, wrong session, etc.) 3. Link <1B-2B> up 4. Link endpoint 2A down (e.g. due to link tolerance timeout) 5. Node 2 starts failover onto link <1B-2B> ==> Node 1 does never start link/node failover!”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjòHh]”hŒ Parameters”…”�”}”(hjôHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjðHubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M®hjìHubj)�”}”(hhh]”(j)�”}”(hŒ,``struct tipc_node *n`` tipc node structure ”h]”(j )�”}”(hŒ``struct tipc_node *n``”h]”j)�”}”(hjIh]”hŒstruct tipc_node *n”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjIubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M¹hj Iubj')�”}”(hhh]”hï)�”}”(hŒtipc node structure”h]”hŒtipc node structure”…”�”}”(hj*Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j&Ih´M¹hj'Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j&Ih´M¹hjIubj)�”}”(hŒG``struct tipc_link *l`` link peer endpoint failingover (- can be NULL) ”h]”(j )�”}”(hŒ``struct tipc_link *l``”h]”j)�”}”(hjJIh]”hŒstruct tipc_link *l”…”�”}”(hjLIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjHIubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MºhjDIubj')�”}”(hhh]”hï)�”}”(hŒ.link peer endpoint failingover (- can be NULL)”h]”hŒ.link peer endpoint failingover (- can be NULL)”…”�”}”(hjcIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j_Ih´Mºhj`Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjDIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j_Ih´MºhjIubj)�”}”(hŒ&``struct tipc_link *tnl`` tunnel link ”h]”(j )�”}”(hŒ``struct tipc_link *tnl``”h]”j)�”}”(hjƒIh]”hŒstruct tipc_link *tnl”…”�”}”(hj…Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M»hj}Iubj')�”}”(hhh]”hï)�”}”(hŒ tunnel link”h]”hŒ tunnel link”…”�”}”(hjœIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j˜Ih´M»hj™Iubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj}Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j˜Ih´M»hjIubj)�”}”(hŒQ``struct sk_buff_head *xmitq`` queue for messages to be xmited on tnl link later ”h]”(j )�”}”(hŒ``struct sk_buff_head *xmitq``”h]”j)�”}”(hj¼Ih]”hŒstruct sk_buff_head *xmitq”…”�”}”(hj¾Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjºIubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M¼hj¶Iubj')�”}”(hhh]”hï)�”}”(hŒ1queue for messages to be xmited on tnl link later”h]”hŒ1queue for messages to be xmited on tnl link later”…”�”}”(hjÕIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÑIh´M¼hjÒIubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¶Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÑIh´M¼hjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjìHubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj÷Ih]”hŒ Description”…”�”}”(hjùIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjõIubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M¾hjìHubhï)�”}”(hŒ¢This function is only called in a very special situation where link failover can be already started on peer node but not on this node. This can happen when e.g.::”h]”hŒ¡This function is only called in a very special situation where link failover can be already started on peer node but not on this node. This can happen when e.g.:”…”�”}”(hj Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M«hjìHubj×)�”}”(hX21. Both links <1A-2A>, <1B-2B> down 2. Link endpoint 2A up, but 1A still down (e.g. due to network disturbance, wrong session, etc.) 3. Link <1B-2B> up 4. Link endpoint 2A down (e.g. due to link tolerance timeout) 5. Node 2 starts failover onto link <1B-2B> ==> Node 1 does never start link/node failover!”h]”hX21. Both links <1A-2A>, <1B-2B> down 2. Link endpoint 2A up, but 1A still down (e.g. due to network disturbance, wrong session, etc.) 3. Link <1B-2B> up 4. Link endpoint 2A down (e.g. due to link tolerance timeout) 5. Node 2 starts failover onto link <1B-2B> ==> Node 1 does never start link/node failover!”…”�”}”hjJsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M¯hjìHubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjV8h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ"__tipc_node_link_down (C function)”Œc.__tipc_node_link_down”hNt”auh1jhjV8h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ|void __tipc_node_link_down (struct tipc_node *n, int *bearer_id, struct sk_buff_head *xmitq, struct tipc_media_addr **maddr)”h]”j/)�”}”(hŒ{void __tipc_node_link_down(struct tipc_node *n, int *bearer_id, struct sk_buff_head *xmitq, struct tipc_media_addr **maddr)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjKJh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjGJh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MÖubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZJh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjGJh²hh³jYJh´MÖubjX)�”}”(hŒ__tipc_node_link_down”h]”j^)�”}”(hŒ__tipc_node_link_down”h]”hŒ__tipc_node_link_down”…”�”}”(hjlJh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjhJubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjGJh²hh³jYJh´MÖubj)�”}”(hŒa(struct tipc_node *n, int *bearer_id, struct sk_buff_head *xmitq, struct tipc_media_addr **maddr)”h]”(j%)�”}”(hŒstruct tipc_node *n”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjˆJh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj„JubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•Jh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj„Jubh)�”}”(hhh]”j^)�”}”(hŒ tipc_node”h]”hŒ tipc_node”…”�”}”(hj¦Jh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj£Jubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¨JŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjnJsbŒc.__tipc_node_link_down”†”asbuh1hhj„JubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆJh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj„Jubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÔJh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj„Jubj^)�”}”(hjih]”hŒn”…”�”}”(hjáJh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj„Jubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj€Jubj%)�”}”(hŒint *bearer_id”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjùJh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjõJubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjõJubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjõJubj^)�”}”(hŒ bearer_id”h]”hŒ bearer_id”…”�”}”(hj"Kh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjõJubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj€Jubj%)�”}”(hŒstruct sk_buff_head *xmitq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj;Kh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj7KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHKh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj7Kubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjYKh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjVKubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j[KŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂJŒc.__tipc_node_link_down”†”asbuh1hhj7KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwKh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj7Kubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj…Kh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj7Kubj^)�”}”(hŒxmitq”h]”hŒxmitq”…”�”}”(hj’Kh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj7Kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj€Jubj%)�”}”(hŒstruct tipc_media_addr **maddr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj«Kh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj§KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸Kh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj§Kubh)�”}”(hhh]”j^)�”}”(hŒtipc_media_addr”h]”hŒtipc_media_addr”…”�”}”(hjÉKh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÆKubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jËKŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÂJŒc.__tipc_node_link_down”†”asbuh1hhj§KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjçKh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj§Kubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjõKh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj§Kubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj§Kubj^)�”}”(hŒmaddr”h]”hŒmaddr”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj§Kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj€Jubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjGJh²hh³jYJh´MÖubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjCJh²hh³jYJh´MÖubah}”(h]”j>Jah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jYJh´MÖhj@Jh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒhandle loss of link”h]”hŒhandle loss of link”…”�”}”(hj9Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MÖhj6Lh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj@Jh²hh³jYJh´MÖubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jQLj­jQLj®‰j¯‰j°‰uh1j#h²hhjV8h³Nh´Nubj²)�”}”(hŒï**Parameters** ``struct tipc_node *n`` target tipc_node ``int *bearer_id`` id of the bearer ``struct sk_buff_head *xmitq`` queue for messages to be xmited on ``struct tipc_media_addr **maddr`` output media address of the bearer”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj[Lh]”hŒ Parameters”…”�”}”(hj]Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjYLubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MÚhjULubj)�”}”(hhh]”(j)�”}”(hŒ)``struct tipc_node *n`` target tipc_node ”h]”(j )�”}”(hŒ``struct tipc_node *n``”h]”j)�”}”(hjzLh]”hŒstruct tipc_node *n”…”�”}”(hj|Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjxLubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M×hjtLubj')�”}”(hhh]”hï)�”}”(hŒtarget tipc_node”h]”hŒtarget tipc_node”…”�”}”(hj“Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j�Lh´M×hj�Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjtLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�Lh´M×hjqLubj)�”}”(hŒ$``int *bearer_id`` id of the bearer ”h]”(j )�”}”(hŒ``int *bearer_id``”h]”j)�”}”(hj³Lh]”hŒint *bearer_id”…”�”}”(hjµLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj±Lubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MØhj­Lubj')�”}”(hhh]”hï)�”}”(hŒid of the bearer”h]”hŒid of the bearer”…”�”}”(hjÌLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÈLh´MØhjÉLubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj­Lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÈLh´MØhjqLubj)�”}”(hŒB``struct sk_buff_head *xmitq`` queue for messages to be xmited on ”h]”(j )�”}”(hŒ``struct sk_buff_head *xmitq``”h]”j)�”}”(hjìLh]”hŒstruct sk_buff_head *xmitq”…”�”}”(hjîLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjêLubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MÙhjæLubj')�”}”(hhh]”hï)�”}”(hŒ"queue for messages to be xmited on”h]”hŒ"queue for messages to be xmited on”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jMh´MÙhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjæLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jMh´MÙhjqLubj)�”}”(hŒE``struct tipc_media_addr **maddr`` output media address of the bearer”h]”(j )�”}”(hŒ"``struct tipc_media_addr **maddr``”h]”j)�”}”(hj%Mh]”hŒstruct tipc_media_addr **maddr”…”�”}”(hj'Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#Mubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MÛhjMubj')�”}”(hhh]”hï)�”}”(hŒ"output media address of the bearer”h]”hŒ"output media address of the bearer”…”�”}”(hj>Mh²hh³Nh´Nubah}”(h]”h ]”h"]”•h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MÚhj;Mubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjMubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j:Mh´MÛhjqLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjULubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjV8h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ#tipc_node_get_linkname (C function)”Œc.tipc_node_get_linkname”hNt”auh1jhjV8h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒaint tipc_node_get_linkname (struct net *net, u32 bearer_id, u32 addr, char *linkname, size_t len)”h]”j/)�”}”(hŒ`int tipc_node_get_linkname(struct net *net, u32 bearer_id, u32 addr, char *linkname, size_t len)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj{Mh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽMh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj{Mh²hh³j�Mh´MubjX)�”}”(hŒtipc_node_get_linkname”h]”j^)�”}”(hŒtipc_node_get_linkname”h]”hŒtipc_node_get_linkname”…”�”}”(hj Mh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjœMubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj{Mh²hh³j�Mh´Mubj)�”}”(hŒF(struct net *net, u32 bearer_id, u32 addr, char *linkname, size_t len)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¼Mh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj¸MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉMh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¸Mubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjÚMh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj×Mubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÜMŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¢MsbŒc.tipc_node_get_linkname”†”asbuh1hhj¸MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúMh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¸Mubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¸Mubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¸Mubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj´Mubj%)�”}”(hŒ u32 bearer_id”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj1Nh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj.Nubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j3NŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jöMŒc.tipc_node_get_linkname”†”asbuh1hhj*NubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjONh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj*Nubj^)�”}”(hŒ bearer_id”h]”hŒ bearer_id”…”�”}”(hj]Nh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj*Nubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj´Mubj%)�”}”(hŒu32 addr”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjyNh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjvNubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j{NŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jöMŒc.tipc_node_get_linkname”†”asbuh1hhjrNubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—Nh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjrNubj^)�”}”(hŒaddr”h]”hŒaddr”…”�”}”(hj¥Nh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjrNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj´Mubj%)�”}”(hŒchar *linkname”h]”(jG)�”}”(hŒchar”h]”hŒchar”…”�”}”(hj¾Nh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjºNubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌNh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjºNubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÚNh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjºNubj^)�”}”(hŒlinkname”h]”hŒlinkname”…”�”}”(hjçNh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjºNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj´Mubj%)�”}”(hŒ size_t len”h]”(h)�”}”(hhh]”j^)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjOubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jOŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jöMŒc.tipc_node_get_linkname”†”asbuh1hhjüNubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!Oh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjüNubj^)�”}”(hŒlen”h]”hŒlen”…”�”}”(hj/Oh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjüNubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj{Mh²hh³j�Mh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjwMh²hh³j�Mh´Mubah}”(h]”jrMah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j�Mh´MhjtMh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒget the name of a link”h]”hŒget the name of a link”…”�”}”(hjYOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MhjVOh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjtMh²hh³j�Mh´Mubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jqOj­jqOj®‰j¯‰j°‰uh1j#h²hhjV8h³Nh´Nubj²)�”}”(hX**Parameters** ``struct net *net`` the applicable net namespace ``u32 bearer_id`` id of the bearer ``u32 addr`` peer node address ``char *linkname`` link name output buffer ``size_t len`` size of **linkname** output buffer **Return** 0 on success”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj{Oh]”hŒ Parameters”…”�”}”(hj}Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjyOubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M!hjuOubj)�”}”(hhh]”(j)�”}”(hŒ1``struct net *net`` the applicable net namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjšOh]”hŒstruct net *net”…”�”}”(hjœOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj˜Oubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Mhj”Oubj')�”}”(hhh]”hï)�”}”(hŒthe applicable net namespace”h]”hŒthe applicable net namespace”…”�”}”(hj³Oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¯Oh´Mhj°Oubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj”Oubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¯Oh´Mhj‘Oubj)�”}”(hŒ#``u32 bearer_id`` id of the bearer ”h]”(j )�”}”(hŒ``u32 bearer_id``”h]”j)�”}”(hjÓOh]”hŒ u32 bearer_id”…”�”}”(hjÕOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÑOubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M hjÍOubj')�”}”(hhh]”hï)�”}”(hŒid of the bearer”h]”hŒid of the bearer”…”�”}”(hjìOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jèOh´M hjéOubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÍOubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jèOh´M hj‘Oubj)�”}”(hŒ``u32 addr`` peer node address ”h]”(j )�”}”(hŒ ``u32 addr``”h]”j)�”}”(hj Ph]”hŒu32 addr”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Pubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M!hjPubj')�”}”(hhh]”hï)�”}”(hŒpeer node address”h]”hŒpeer node address”…”�”}”(hj%Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j!Ph´M!hj"Pubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j!Ph´M!hj‘Oubj)�”}”(hŒ+``char *linkname`` link name output buffer ”h]”(j )�”}”(hŒ``char *linkname``”h]”j)�”}”(hjEPh]”hŒchar *linkname”…”�”}”(hjGPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjCPubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M"hj?Pubj')�”}”(hhh]”hï)�”}”(hŒlink name output buffer”h]”hŒlink name output buffer”…”�”}”(hj^Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jZPh´M"hj[Pubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj?Pubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jZPh´M"hj‘Oubj)�”}”(hŒ2``size_t len`` size of **linkname** output buffer ”h]”(j )�”}”(hŒ``size_t len``”h]”j)�”}”(hj~Ph]”hŒ size_t len”…”�”}”(hj€Ph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj|Pubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M#hjxPubj')�”}”(hhh]”hï)�”}”(hŒ"size of **linkname** output buffer”h]”(hŒsize of ”…”�”}”(hj—Ph²hh³Nh´Nubj¼)�”}”(hŒ **linkname**”h]”hŒlinkname”…”�”}”(hjŸPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj—PubhŒ output buffer”…”�”}”(hj—Ph²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j“Ph´M#hj”Pubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjxPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j“Ph´M#hj‘Oubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjuOubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjËPh]”hŒReturn”…”�”}”(hjÍPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÉPubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M%hjuOubhï)�”}”(hŒ 0 on success”h]”hŒ 0 on success”…”�”}”(hjáPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M%hjuOubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjV8h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_node_xmit (C function)”Œc.tipc_node_xmit”hNt”auh1jhjV8h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒXint tipc_node_xmit (struct net *net, struct sk_buff_head *list, u32 dnode, int selector)”h]”j/)�”}”(hŒWint tipc_node_xmit(struct net *net, struct sk_buff_head *list, u32 dnode, int selector)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Qh²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M–ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Qh²hh³jQh´M–ubjX)�”}”(hŒtipc_node_xmit”h]”j^)�”}”(hŒtipc_node_xmit”h]”hŒtipc_node_xmit”…”�”}”(hj1Qh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj-Qubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj Qh²hh³jQh´M–ubj)�”}”(hŒE(struct net *net, struct sk_buff_head *list, u32 dnode, int selector)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjMQh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjIQubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZQh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjIQubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjkQh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjhQubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jmQŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj3QsbŒc.tipc_node_xmit”†”asbuh1hhjIQubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹Qh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjIQubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj™Qh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjIQubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj¦Qh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjIQubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjEQubj%)�”}”(hŒstruct sk_buff_head *list”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¿Qh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj»QubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌQh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj»Qubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjÝQh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÚQubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jßQŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j‡QŒc.tipc_node_xmit”†”asbuh1hhj»QubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûQh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj»Qubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj Rh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj»Qubj^)�”}”(hŒlist”h]”hŒlist”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj»Qubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjEQubj%)�”}”(hŒ u32 dnode”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj2Rh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj/Rubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j4RŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j‡QŒc.tipc_node_xmit”†”asbuh1hhj+RubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjPRh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj+Rubj^)�”}”(hŒdnode”h]”hŒdnode”…”�”}”(hj^Rh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj+Rubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjEQubj%)�”}”(hŒ int selector”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjwRh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjsRubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…Rh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjsRubj^)�”}”(hŒselector”h]”hŒselector”…”�”}”(hj“Rh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjsRubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjEQubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj Qh²hh³jQh´M–ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjQh²hh³jQh´M–ubah}”(h]”jQah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jQh´M–hjQh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ/general link level function for message sending”h]”hŒ/general link level function for message sending”…”�”}”(hj½Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M–hjºRh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjQh²hh³jQh´M–ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÕRj­jÕRj®‰j¯‰j°‰uh1j#h²hhjV8h³Nh´Nubj²)�”}”(hXe**Parameters** ``struct net *net`` the applicable net namespace ``struct sk_buff_head *list`` chain of buffers containing message ``u32 dnode`` address of destination node ``int selector`` a number used for deterministic link selection Consumes the buffer chain. **Return** 0 if success, otherwise: -ELINKCONG,-EHOSTUNREACH,-EMSGSIZE,-ENOBUF”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjßRh]”hŒ Parameters”…”�”}”(hjáRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÝRubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MšhjÙRubj)�”}”(hhh]”(j)�”}”(hŒ1``struct net *net`` the applicable net namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjþRh]”hŒstruct net *net”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjüRubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M—hjøRubj')�”}”(hhh]”hï)�”}”(hŒthe applicable net namespace”h]”hŒthe applicable net namespace”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jSh´M—hjSubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjøRubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jSh´M—hjõRubj)�”}”(hŒB``struct sk_buff_head *list`` chain of buffers containing message ”h]”(j )�”}”(hŒ``struct sk_buff_head *list``”h]”j)�”}”(hj7Sh]”hŒstruct sk_buff_head *list”…”�”}”(hj9Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5Subah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M˜hj1Subj')�”}”(hhh]”hï)�”}”(hŒ#chain of buffers containing message”h]”hŒ#chain of buffers containing message”…”�”}”(hjPSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jLSh´M˜hjMSubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj1Subeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jLSh´M˜hjõRubj)�”}”(hŒ*``u32 dnode`` address of destination node ”h]”(j )�”}”(hŒ ``u32 dnode``”h]”j)�”}”(hjpSh]”hŒ u32 dnode”…”�”}”(hjrSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjnSubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M™hjjSubj')�”}”(hhh]”hï)�”}”(hŒaddress of destination node”h]”hŒaddress of destination node”…”�”}”(hj‰Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j…Sh´M™hj†Subah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjjSubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j…Sh´M™hjõRubj)�”}”(hŒ[``int selector`` a number used for deterministic link selection Consumes the buffer chain. ”h]”(j )�”}”(hŒ``int selector``”h]”j)�”}”(hj©Sh]”hŒ int selector”…”�”}”(hj«Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj§Subah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M›hj£Subj')�”}”(hhh]”hï)�”}”(hŒIa number used for deterministic link selection Consumes the buffer chain.”h]”hŒIa number used for deterministic link selection Consumes the buffer chain.”…”�”}”(hjÂSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´Mšhj¿Subah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj£Subeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¾Sh´M›hjõRubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÙRubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjåSh]”hŒReturn”…”�”}”(hjçSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjãSubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M�hjÙRubhï)�”}”(hŒC0 if success, otherwise: -ELINKCONG,-EHOSTUNREACH,-EMSGSIZE,-ENOBUF”h]”hŒC0 if success, otherwise: -ELINKCONG,-EHOSTUNREACH,-EMSGSIZE,-ENOBUF”…”�”}”(hjûSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MœhjÙRubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjV8h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_node_bc_rcv (C function)”Œc.tipc_node_bc_rcv”hNt”auh1jhjV8h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒKvoid tipc_node_bc_rcv (struct net *net, struct sk_buff *skb, int bearer_id)”h]”j/)�”}”(hŒJvoid tipc_node_bc_rcv(struct net *net, struct sk_buff *skb, int bearer_id)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj*Th²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj&Th²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MPubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9Th²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj&Th²hh³j8Th´MPubjX)�”}”(hŒtipc_node_bc_rcv”h]”j^)�”}”(hŒtipc_node_bc_rcv”h]”hŒtipc_node_bc_rcv”…”�”}”(hjKTh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjGTubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj&Th²hh³j8Th´MPubj)�”}”(hŒ5(struct net *net, struct sk_buff *skb, int bearer_id)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjgTh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjcTubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjtTh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjcTubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj…Th²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‚Tubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j‡TŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjMTsbŒc.tipc_node_bc_rcv”†”asbuh1hhjcTubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥Th²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjcTubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj³Th²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjcTubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjÀTh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjcTubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj_Tubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÙTh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÕTubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæTh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÕTubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj÷Th²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjôTubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jùTŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¡TŒc.tipc_node_bc_rcv”†”asbuh1hhjÕTubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÕTubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj#Uh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÕTubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj0Uh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÕTubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj_Tubj%)�”}”(hŒ int bearer_id”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjIUh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjEUubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjWUh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjEUubj^)�”}”(hŒ bearer_id”h]”hŒ bearer_id”…”�”}”(hjeUh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjEUubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj_Tubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj&Th²hh³j8Th´MPubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj"Th²hh³j8Th´MPubah}”(h]”jTah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j8Th´MPhjTh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ4process TIPC broadcast packet arriving from off-node”h]”hŒ4process TIPC broadcast packet arriving from off-node”…”�”}”(hj�Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MPhjŒUh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjTh²hh³j8Th´MPubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j§Uj­j§Uj®‰j¯‰j°‰uh1j#h²hhjV8h³Nh´Nubj²)�”}”(hŒÌ**Parameters** ``struct net *net`` the applicable net namespace ``struct sk_buff *skb`` TIPC packet ``int bearer_id`` id of bearer message arrived on **Description** Invoked with no locks held.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj±Uh]”hŒ Parameters”…”�”}”(hj³Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¯Uubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MThj«Uubj)�”}”(hhh]”(j)�”}”(hŒ1``struct net *net`` the applicable net namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjÐUh]”hŒstruct net *net”…”�”}”(hjÒUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÎUubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MQhjÊUubj')�”}”(hhh]”hï)�”}”(hŒthe applicable net namespace”h]”hŒthe applicable net namespace”…”�”}”(hjéUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jåUh´MQhjæUubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÊUubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jåUh´MQhjÇUubj)�”}”(hŒ$``struct sk_buff *skb`` TIPC packet ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hj Vh]”hŒstruct sk_buff *skb”…”�”}”(hj Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjVubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MRhjVubj')�”}”(hhh]”hï)�”}”(hŒ TIPC packet”h]”hŒ TIPC packet”…”�”}”(hj"Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jVh´MRhjVubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjVubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jVh´MRhjÇUubj)�”}”(hŒ2``int bearer_id`` id of bearer message arrived on ”h]”(j )�”}”(hŒ``int bearer_id``”h]”j)�”}”(hjBVh]”hŒ int bearer_id”…”�”}”(hjDVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj@Vubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´MShjZh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj:ZubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKZh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj:Zubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj\Zh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjYZubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j^ZŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj$ZsbŒ c.tipc_rcv”†”asbuh1hhj:ZubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|Zh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj:Zubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjŠZh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj:Zubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj—Zh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj:Zubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj6Zubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj°Zh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj¬ZubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½Zh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¬Zubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjÎZh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjËZubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÐZŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jxZŒ c.tipc_rcv”†”asbuh1hhj¬ZubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjìZh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¬Zubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjúZh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¬Zubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¬Zubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj6Zubj%)�”}”(hŒstruct tipc_bearer *b”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj [h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj[ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj-[h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj[ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_bearer”h]”hŒ tipc_bearer”…”�”}”(hj>[h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj;[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j@[Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jxZŒ c.tipc_rcv”†”asbuh1hhj[ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\[h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj[ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjj[h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj[ubj^)�”}”(hj•,h]”hŒb”…”�”}”(hjw[h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj[ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj6Zubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjýYh²hh³jZh´M%ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjùYh²hh³jZh´M%ubah}”(h]”jôYah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jZh´M%hjöYh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ4process TIPC packets/messages arriving from off-node”h]”hŒ4process TIPC packets/messages arriving from off-node”…”�”}”(hj [h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M%hj�[h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjöYh²hh³jZh´M%ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j¸[j­j¸[j®‰j¯‰j°‰uh1j#h²hhjV8h³Nh´Nubj²)�”}”(hXB**Parameters** ``struct net *net`` the applicable net namespace ``struct sk_buff *skb`` TIPC packet ``struct tipc_bearer *b`` pointer to bearer message arrived on **Description** Invoked with no locks held. Bearer pointer must point to a valid bearer structure (i.e. cannot be NULL), but bearer can be inactive.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÂ[h]”hŒ Parameters”…”�”}”(hjÄ[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÀ[ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M)hj¼[ubj)�”}”(hhh]”(j)�”}”(hŒ1``struct net *net`` the applicable net namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjá[h]”hŒstruct net *net”…”�”}”(hjã[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjß[ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M&hjÛ[ubj')�”}”(hhh]”hï)�”}”(hŒthe applicable net namespace”h]”hŒthe applicable net namespace”…”�”}”(hjú[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jö[h´M&hj÷[ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÛ[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jö[h´M&hjØ[ubj)�”}”(hŒ$``struct sk_buff *skb`` TIPC packet ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hj\h]”hŒstruct sk_buff *skb”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M'hj\ubj')�”}”(hhh]”hï)�”}”(hŒ TIPC packet”h]”hŒ TIPC packet”…”�”}”(hj3\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j/\h´M'hj0\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j/\h´M'hjØ[ubj)�”}”(hŒ?``struct tipc_bearer *b`` pointer to bearer message arrived on ”h]”(j )�”}”(hŒ``struct tipc_bearer *b``”h]”j)�”}”(hjS\h]”hŒstruct tipc_bearer *b”…”�”}”(hjU\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjQ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M(hjM\ubj')�”}”(hhh]”hï)�”}”(hŒ$pointer to bearer message arrived on”h]”hŒ$pointer to bearer message arrived on”…”�”}”(hjl\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jh\h´M(hji\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjM\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh\h´M(hjØ[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj¼[ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjŽ\h]”hŒ Description”…”�”}”(hj�\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjŒ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M*hj¼[ubhï)�”}”(hŒ„Invoked with no locks held. Bearer pointer must point to a valid bearer structure (i.e. cannot be NULL), but bearer can be inactive.”h]”hŒ„Invoked with no locks held. Bearer pointer must point to a valid bearer structure (i.e. cannot be NULL), but bearer can be inactive.”…”�”}”(hj¤\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M)hj¼[ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjV8h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_node_dump (C function)”Œc.tipc_node_dump”hNt”auh1jhjV8h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ>int tipc_node_dump (struct tipc_node *n, bool more, char *buf)”h]”j/)�”}”(hŒ=int tipc_node_dump(struct tipc_node *n, bool more, char *buf)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÓ\h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÏ\h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M! ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ\h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÏ\h²hh³já\h´M! ubjX)�”}”(hŒtipc_node_dump”h]”j^)�”}”(hŒtipc_node_dump”h]”hŒtipc_node_dump”…”�”}”(hjô\h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjð\ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÏ\h²hh³já\h´M! ubj)�”}”(hŒ+(struct tipc_node *n, bool more, char *buf)”h]”(j%)�”}”(hŒstruct tipc_node *n”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj ]ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj ]ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_node”h]”hŒ tipc_node”…”�”}”(hj.]h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj+]ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j0]Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjö\sbŒc.tipc_node_dump”†”asbuh1hhj ]ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN]h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj ]ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj\]h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj ]ubj^)�”}”(hjih]”hŒn”…”�”}”(hji]h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj]ubj%)�”}”(hŒ bool more”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hj�]h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj}]ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽ]h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj}]ubj^)�”}”(hŒmore”h]”hŒmore”…”�”}”(hjœ]h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj}]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj]ubj%)�”}”(hŒ char *buf”h]”(jG)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjµ]h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj±]ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃ]h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj±]ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÑ]h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj±]ubj^)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hjÞ]h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj±]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj]ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÏ\h²hh³já\h´M! ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjË\h²hh³já\h´M! ubah}”(h]”jÆ\ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³já\h´M! hjÈ\h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒdump TIPC node data”h]”hŒdump TIPC node data”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M! hj^h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÈ\h²hh³já\h´M! ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j ^j­j ^j®‰j¯‰j°‰uh1j#h²hhjV8h³Nh´Nubj²)�”}”(hŒÞ**Parameters** ``struct tipc_node *n`` tipc node to be dumped ``bool more`` dump more? - false: dump only tipc node data - true: dump node link data as well ``char *buf`` returned buffer of dump data in format”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj*^h]”hŒ Parameters”…”�”}”(hj,^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj(^ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M% hj$^ubj)�”}”(hhh]”(j)�”}”(hŒ/``struct tipc_node *n`` tipc node to be dumped ”h]”(j )�”}”(hŒ``struct tipc_node *n``”h]”j)�”}”(hjI^h]”hŒstruct tipc_node *n”…”�”}”(hjK^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjG^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M" hjC^ubj')�”}”(hhh]”hï)�”}”(hŒtipc node to be dumped”h]”hŒtipc node to be dumped”…”�”}”(hjb^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j^^h´M" hj_^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjC^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j^^h´M" hj@^ubj)�”}”(hŒ_``bool more`` dump more? - false: dump only tipc node data - true: dump node link data as well ”h]”(j )�”}”(hŒ ``bool more``”h]”j)�”}”(hj‚^h]”hŒ bool more”…”�”}”(hj„^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M% hj|^ubj')�”}”(hhh]”hï)�”}”(hŒPdump more? - false: dump only tipc node data - true: dump node link data as well”h]”hŒPdump more? - false: dump only tipc node data - true: dump node link data as well”…”�”}”(hj›^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M# hj˜^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj|^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j—^h´M% hj@^ubj)�”}”(hŒ4``char *buf`` returned buffer of dump data in format”h]”(j )�”}”(hŒ ``char *buf``”h]”j)�”}”(hj¼^h]”hŒ char *buf”…”�”}”(hj¾^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjº^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M' hj¶^ubj')�”}”(hhh]”hï)�”}”(hŒ&returned buffer of dump data in format”h]”hŒ&returned buffer of dump data in format”…”�”}”(hjÕ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒP/var/lib/git/docbuild/linux/Documentation/networking/tipc:190: ./net/tipc/node.c”h´M& hjÒ^ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¶^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÑ^h´M' hj@^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj$^ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjV8h²hh³Nh´Nubeh}”(h]”Œtipc-node-management-interfaces”ah ]”h"]”Œtipc node management interfaces”ah$]”h&]”uh1hÈhjâh²hh³hÇh´K¼ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTIPC Socket Interfaces”h]”hŒTIPC Socket Interfaces”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj_h²hh³hÇh´KÂubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_sock (C struct)”Œ c.tipc_sock”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ tipc_sock”h]”j/)�”}”(hŒstruct tipc_sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj/_h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj+_h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj=_h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj+_h²hh³j<_h´KubjX)�”}”(hŒ tipc_sock”h]”j^)�”}”(hj)_h]”hŒ tipc_sock”…”�”}”(hjO_h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjK_ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj+_h²hh³j<_h´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj'_h²hh³j<_h´Kubah}”(h]”j"_ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j<_h´Khj$_h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒTIPC socket structure”h]”hŒTIPC socket structure”…”�”}”(hjq_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KLhjn_h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj$_h²hh³j<_h´Kubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬j‰_j­j‰_j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX? **Definition**:: struct tipc_sock { struct sock sk; u32 max_pkt; u32 maxnagle; u32 portid; struct tipc_msg phdr; struct list_head cong_links; struct list_head publications; u32 pub_count; atomic_t dupl_rcvcnt; u16 conn_timeout; bool probe_unacked; u16 cong_link_cnt; u16 snt_unacked; u16 snd_win; u16 peer_caps; u16 rcv_unacked; u16 rcv_win; struct sockaddr_tipc peer; struct rhash_head node; struct tipc_mc_method mc_method; struct rcu_head rcu; struct tipc_group *group; u32 oneway; u32 nagle_start; u16 snd_backlog; u16 msg_acc; u16 pkt_cnt; bool expect_ack; bool nodelay; bool group_is_open; bool published; u8 conn_addrtype; }; **Members** ``sk`` socket - interacts with 'port' and with user via the socket API ``max_pkt`` maximum packet size "hint" used when building messages sent by port ``maxnagle`` maximum size of msg which can be subject to nagle ``portid`` unique port identity in TIPC socket hash table ``phdr`` preformatted message header used when sending messages ``cong_links`` list of congested links ``publications`` list of publications for port ``pub_count`` total # of publications port has made during its lifetime ``dupl_rcvcnt`` number of bytes counted twice, in both backlog and rcv queue ``conn_timeout`` the time we can wait for an unresponded setup request ``probe_unacked`` probe has not received ack yet ``cong_link_cnt`` number of congested links ``snt_unacked`` # messages sent by socket, and not yet acked by peer ``snd_win`` send window size ``peer_caps`` peer capabilities mask ``rcv_unacked`` # messages read by user, but not yet acked back to peer ``rcv_win`` receive window size ``peer`` 'connected' peer for dgram/rdm ``node`` hash table node ``mc_method`` cookie for use between socket and broadcast layer ``rcu`` rcu struct for tipc_sock ``group`` TIPC communications group ``oneway`` message count in one direction (FIXME) ``nagle_start`` current nagle value ``snd_backlog`` send backlog count ``msg_acc`` messages accepted; used in managing backlog and nagle ``pkt_cnt`` TIPC socket packet count ``expect_ack`` whether this TIPC socket is expecting an ack ``nodelay`` setsockopt() TIPC_NODELAY setting ``group_is_open`` TIPC socket group is fully open (FIXME) ``published`` true if port has one or more associated names ``conn_addrtype`` address type used when establishing connection”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj•_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj‘_ubhŒ:”…”�”}”(hj‘_h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KPhj�_ubj×)�”}”(hXçstruct tipc_sock { struct sock sk; u32 max_pkt; u32 maxnagle; u32 portid; struct tipc_msg phdr; struct list_head cong_links; struct list_head publications; u32 pub_count; atomic_t dupl_rcvcnt; u16 conn_timeout; bool probe_unacked; u16 cong_link_cnt; u16 snt_unacked; u16 snd_win; u16 peer_caps; u16 rcv_unacked; u16 rcv_win; struct sockaddr_tipc peer; struct rhash_head node; struct tipc_mc_method mc_method; struct rcu_head rcu; struct tipc_group *group; u32 oneway; u32 nagle_start; u16 snd_backlog; u16 msg_acc; u16 pkt_cnt; bool expect_ack; bool nodelay; bool group_is_open; bool published; u8 conn_addrtype; };”h]”hXçstruct tipc_sock { struct sock sk; u32 max_pkt; u32 maxnagle; u32 portid; struct tipc_msg phdr; struct list_head cong_links; struct list_head publications; u32 pub_count; atomic_t dupl_rcvcnt; u16 conn_timeout; bool probe_unacked; u16 cong_link_cnt; u16 snt_unacked; u16 snd_win; u16 peer_caps; u16 rcv_unacked; u16 rcv_win; struct sockaddr_tipc peer; struct rhash_head node; struct tipc_mc_method mc_method; struct rcu_head rcu; struct tipc_group *group; u32 oneway; u32 nagle_start; u16 snd_backlog; u16 msg_acc; u16 pkt_cnt; bool expect_ack; bool nodelay; bool group_is_open; bool published; u8 conn_addrtype; };”…”�”}”hj®_sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KRhj�_ubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hj¿_h]”hŒMembers”…”�”}”(hjÁ_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj½_ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Kuhj�_ubj)�”}”(hhh]”(j)�”}”(hŒG``sk`` socket - interacts with 'port' and with user via the socket API ”h]”(j )�”}”(hŒ``sk``”h]”j)�”}”(hjÞ_h]”hŒsk”…”�”}”(hjà_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÜ_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KNhjØ_ubj')�”}”(hhh]”hï)�”}”(hŒ?socket - interacts with 'port' and with user via the socket API”h]”hŒCsocket - interacts with ‘port’ and with user via the socket API”…”�”}”(hj÷_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jó_h´KNhjô_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjØ_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jó_h´KNhjÕ_ubj)�”}”(hŒP``max_pkt`` maximum packet size "hint" used when building messages sent by port ”h]”(j )�”}”(hŒ ``max_pkt``”h]”j)�”}”(hj`h]”hŒmax_pkt”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KOhj`ubj')�”}”(hhh]”hï)�”}”(hŒCmaximum packet size "hint" used when building messages sent by port”h]”hŒGmaximum packet size “hintâ€� used when building messages sent by port”…”�”}”(hj0`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j,`h´KOhj-`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j,`h´KOhjÕ_ubj)�”}”(hŒ?``maxnagle`` maximum size of msg which can be subject to nagle ”h]”(j )�”}”(hŒ ``maxnagle``”h]”j)�”}”(hjP`h]”hŒmaxnagle”…”�”}”(hjR`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjN`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KPhjJ`ubj')�”}”(hhh]”hï)�”}”(hŒ1maximum size of msg which can be subject to nagle”h]”hŒ1maximum size of msg which can be subject to nagle”…”�”}”(hji`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³je`h´KPhjf`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjJ`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³je`h´KPhjÕ_ubj)�”}”(hŒ:``portid`` unique port identity in TIPC socket hash table ”h]”(j )�”}”(hŒ ``portid``”h]”j)�”}”(hj‰`h]”hŒportid”…”�”}”(hj‹`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‡`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KQhjƒ`ubj')�”}”(hhh]”hï)�”}”(hŒ.unique port identity in TIPC socket hash table”h]”hŒ.unique port identity in TIPC socket hash table”…”�”}”(hj¢`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jž`h´KQhjŸ`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjƒ`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jž`h´KQhjÕ_ubj)�”}”(hŒ@``phdr`` preformatted message header used when sending messages ”h]”(j )�”}”(hŒ``phdr``”h]”j)�”}”(hjÂ`h]”hŒphdr”…”�”}”(hjÄ`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÀ`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KRhj¼`ubj')�”}”(hhh]”hï)�”}”(hŒ6preformatted message header used when sending messages”h]”hŒ6preformatted message header used when sending messages”…”�”}”(hjÛ`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j×`h´KRhjØ`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¼`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j×`h´KRhjÕ_ubj)�”}”(hŒ'``cong_links`` list of congested links ”h]”(j )�”}”(hŒ``cong_links``”h]”j)�”}”(hjû`h]”hŒ cong_links”…”�”}”(hjý`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjù`ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KShjõ`ubj')�”}”(hhh]”hï)�”}”(hŒlist of congested links”h]”hŒlist of congested links”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jah´KShjaubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjõ`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jah´KShjÕ_ubj)�”}”(hŒ/``publications`` list of publications for port ”h]”(j )�”}”(hŒ``publications``”h]”j)�”}”(hj4ah]”hŒ publications”…”�”}”(hj6ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj2aubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KThj.aubj')�”}”(hhh]”hï)�”}”(hŒlist of publications for port”h]”hŒlist of publications for port”…”�”}”(hjMah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jIah´KThjJaubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj.aubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jIah´KThjÕ_ubj)�”}”(hŒH``pub_count`` total # of publications port has made during its lifetime ”h]”(j )�”}”(hŒ ``pub_count``”h]”j)�”}”(hjmah]”hŒ pub_count”…”�”}”(hjoah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkaubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KUhjgaubj')�”}”(hhh]”hï)�”}”(hŒ9total # of publications port has made during its lifetime”h]”hŒ9total # of publications port has made during its lifetime”…”�”}”(hj†ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j‚ah´KUhjƒaubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjgaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‚ah´KUhjÕ_ubj)�”}”(hŒM``dupl_rcvcnt`` number of bytes counted twice, in both backlog and rcv queue ”h]”(j )�”}”(hŒ``dupl_rcvcnt``”h]”j)�”}”(hj¦ah]”hŒ dupl_rcvcnt”…”�”}”(hj¨ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤aubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KXhj aubj')�”}”(hhh]”hï)�”}”(hŒ(struct net *net, struct socket *sock, int protocol, int kern)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÌjh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÈjubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙjh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÈjubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjêjh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjçjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jìjŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj²jsbŒc.tipc_sk_create”†”asbuh1hhjÈjubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj kh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÈjubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÈjubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj%kh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÈjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÄjubj%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj>kh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj:kubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKkh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj:kubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj\kh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjYkubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j^kŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jkŒc.tipc_sk_create”†”asbuh1hhj:kubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzkh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj:kubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjˆkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj:kubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hj•kh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj:kubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÄjubj%)�”}”(hŒ int protocol”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj®kh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjªkubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼kh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjªkubj^)�”}”(hŒprotocol”h]”hŒprotocol”…”�”}”(hjÊkh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjªkubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÄjubj%)�”}”(hŒint kern”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjãkh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjßkubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjñkh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjßkubj^)�”}”(hŒkern”h]”hŒkern”…”�”}”(hjÿkh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjßkubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÄjubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj‹jh²hh³j�jh´MÀubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj‡jh²hh³j�jh´MÀubah}”(h]”j‚jah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j�jh´MÀhj„jh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒcreate a TIPC socket”h]”hŒcreate a TIPC socket”…”�”}”(hj)lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÀhj&lh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj„jh²hh³j�jh´MÀubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jAlj­jAlj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX¡**Parameters** ``struct net *net`` network namespace (must be default network) ``struct socket *sock`` pre-allocated socket structure ``int protocol`` protocol indicator (must be 0) ``int kern`` caused by kernel or by userspace? **Description** This routine creates additional data structures used by the TIPC socket, initializes them, and links them together. **Return** 0 on success, errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjKlh]”hŒ Parameters”…”�”}”(hjMlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjIlubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÄhjElubj)�”}”(hhh]”(j)�”}”(hŒ@``struct net *net`` network namespace (must be default network) ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjjlh]”hŒstruct net *net”…”�”}”(hjllh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjhlubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÁhjdlubj')�”}”(hhh]”hï)�”}”(hŒ+network namespace (must be default network)”h]”hŒ+network namespace (must be default network)”…”�”}”(hjƒlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jlh´MÁhj€lubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjdlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jlh´MÁhjalubj)�”}”(hŒ7``struct socket *sock`` pre-allocated socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hj£lh]”hŒstruct socket *sock”…”�”}”(hj¥lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¡lubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÂhj�lubj')�”}”(hhh]”hï)�”}”(hŒpre-allocated socket structure”h]”hŒpre-allocated socket structure”…”�”}”(hj¼lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¸lh´MÂhj¹lubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�lubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¸lh´MÂhjalubj)�”}”(hŒ0``int protocol`` protocol indicator (must be 0) ”h]”(j )�”}”(hŒ``int protocol``”h]”j)�”}”(hjÜlh]”hŒ int protocol”…”�”}”(hjÞlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÚlubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÃhjÖlubj')�”}”(hhh]”hï)�”}”(hŒprotocol indicator (must be 0)”h]”hŒprotocol indicator (must be 0)”…”�”}”(hjõlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jñlh´MÃhjòlubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÖlubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jñlh´MÃhjalubj)�”}”(hŒ/``int kern`` caused by kernel or by userspace? ”h]”(j )�”}”(hŒ ``int kern``”h]”j)�”}”(hjmh]”hŒint kern”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjmubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÄhjmubj')�”}”(hhh]”hï)�”}”(hŒ!caused by kernel or by userspace?”h]”hŒ!caused by kernel or by userspace?”…”�”}”(hj.mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j*mh´MÄhj+mubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjmubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j*mh´MÄhjalubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjElubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjPmh]”hŒ Description”…”�”}”(hjRmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjNmubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÆhjElubhï)�”}”(hŒsThis routine creates additional data structures used by the TIPC socket, initializes them, and links them together.”h]”hŒsThis routine creates additional data structures used by the TIPC socket, initializes them, and links them together.”…”�”}”(hjfmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÅhjElubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjwmh]”hŒReturn”…”�”}”(hjymh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjumubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÈhjElubhï)�”}”(hŒ0 on success, errno otherwise”h]”hŒ0 on success, errno otherwise”…”�”}”(hj�mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÉhjElubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_release (C function)”Œc.tipc_release”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ&int tipc_release (struct socket *sock)”h]”j/)�”}”(hŒ%int tipc_release(struct socket *sock)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj¼mh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¸mh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´McubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËmh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¸mh²hh³jÊmh´McubjX)�”}”(hŒ tipc_release”h]”j^)�”}”(hŒ tipc_release”h]”hŒ tipc_release”…”�”}”(hjÝmh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÙmubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj¸mh²hh³jÊmh´Mcubj)�”}”(hŒ(struct socket *sock)”h]”j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjùmh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjõmubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjõmubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjnubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jnŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjßmsbŒc.tipc_release”†”asbuh1hhjõmubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7nh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjõmubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjEnh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjõmubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjRnh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjõmubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjñmubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj¸mh²hh³jÊmh´Mcubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj´mh²hh³jÊmh´Mcubah}”(h]”j¯mah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÊmh´Mchj±mh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒdestroy a TIPC socket”h]”hŒdestroy a TIPC socket”…”�”}”(hj|nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mchjynh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj±mh²hh³jÊmh´Mcubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j”nj­j”nj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX�**Parameters** ``struct socket *sock`` socket to destroy **Description** This routine cleans up any messages that are still queued on the socket. For DGRAM and RDM socket types, all queued messages are rejected. For SEQPACKET and STREAM socket types, the first message is rejected and any others are discarded. (If the first message on a STREAM socket is partially-read, it is discarded and the next one is rejected instead.) **NOTE** Rejected messages are not necessarily returned to the sender! They are returned or discarded according to the "destination droppable" setting specified for the message by the sender. **Return** 0 on success, errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjžnh]”hŒ Parameters”…”�”}”(hj nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjœnubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mghj˜nubj)�”}”(hhh]”j)�”}”(hŒ*``struct socket *sock`` socket to destroy ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hj½nh]”hŒstruct socket *sock”…”�”}”(hj¿nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj»nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mdhj·nubj')�”}”(hhh]”hï)�”}”(hŒsocket to destroy”h]”hŒsocket to destroy”…”�”}”(hjÖnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÒnh´MdhjÓnubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj·nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÒnh´Mdhj´nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj˜nubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjønh]”hŒ Description”…”�”}”(hjúnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjönubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mfhj˜nubhï)�”}”(hXaThis routine cleans up any messages that are still queued on the socket. For DGRAM and RDM socket types, all queued messages are rejected. For SEQPACKET and STREAM socket types, the first message is rejected and any others are discarded. (If the first message on a STREAM socket is partially-read, it is discarded and the next one is rejected instead.)”h]”hXaThis routine cleans up any messages that are still queued on the socket. For DGRAM and RDM socket types, all queued messages are rejected. For SEQPACKET and STREAM socket types, the first message is rejected and any others are discarded. (If the first message on a STREAM socket is partially-read, it is discarded and the next one is rejected instead.)”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mehj˜nubhï)�”}”(hŒ**NOTE**”h]”j¼)�”}”(hjoh]”hŒNOTE”…”�”}”(hj!oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjoubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mkhj˜nubhï)�”}”(hŒ·Rejected messages are not necessarily returned to the sender! They are returned or discarded according to the "destination droppable" setting specified for the message by the sender.”h]”hŒ»Rejected messages are not necessarily returned to the sender! They are returned or discarded according to the “destination droppableâ€� setting specified for the message by the sender.”…”�”}”(hj5oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mlhj˜nubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjFoh]”hŒReturn”…”�”}”(hjHoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjDoubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mphj˜nubhï)�”}”(hŒ0 on success, errno otherwise”h]”hŒ0 on success, errno otherwise”…”�”}”(hj\oh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mphj˜nubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ__tipc_bind (C function)”Œ c.__tipc_bind”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒHint __tipc_bind (struct socket *sock, struct sockaddr *skaddr, int alen)”h]”j/)�”}”(hŒGint __tipc_bind(struct socket *sock, struct sockaddr *skaddr, int alen)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj‹oh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‡oh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M–ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšoh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‡oh²hh³j™oh´M–ubjX)�”}”(hŒ __tipc_bind”h]”j^)�”}”(hŒ __tipc_bind”h]”hŒ __tipc_bind”…”�”}”(hj¬oh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¨oubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj‡oh²hh³j™oh´M–ubj)�”}”(hŒ8(struct socket *sock, struct sockaddr *skaddr, int alen)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÈoh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÄoubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÕoh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÄoubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hjæoh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjãoubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jèoŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj®osbŒ c.__tipc_bind”†”asbuh1hhjÄoubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÄoubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÄoubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hj!ph²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÄoubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÀoubj%)�”}”(hŒstruct sockaddr *skaddr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj:ph²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj6pubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjGph²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6pubh)�”}”(hhh]”j^)�”}”(hŒsockaddr”h]”hŒsockaddr”…”�”}”(hjXph²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjUpubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jZpŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jpŒ c.__tipc_bind”†”asbuh1hhj6pubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjvph²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj6pubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj„ph²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj6pubj^)�”}”(hŒskaddr”h]”hŒskaddr”…”�”}”(hj‘ph²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj6pubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÀoubj%)�”}”(hŒint alen”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjªph²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¦pubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸ph²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¦pubj^)�”}”(hŒalen”h]”hŒalen”…”�”}”(hjÆph²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¦pubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÀoubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj‡oh²hh³j™oh´M–ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjƒoh²hh³j™oh´M–ubah}”(h]”j~oah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j™oh´M–hj€oh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ4associate or disassociate TIPC name(s) with a socket”h]”hŒ4associate or disassociate TIPC name(s) with a socket”…”�”}”(hjðph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M–hjíph²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj€oh²hh³j™oh´M–ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jqj­jqj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX]**Parameters** ``struct socket *sock`` socket structure ``struct sockaddr *skaddr`` socket address describing name(s) and desired operation ``int alen`` size of socket address data structure **Description** Name and name sequence binding are indicated using a positive scope value; a negative scope value unbinds the specified name. Specifying no name (i.e. a socket address length of 0) unbinds all names from the socket. **Return** 0 on success, errno otherwise **NOTE** This routine doesn't need to take the socket lock since it doesn't access any non-constant socket information.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjqh]”hŒ Parameters”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjqubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mšhj qubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hj1qh]”hŒstruct socket *sock”…”�”}”(hj3qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj/qubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M—hj+qubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hjJqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jFqh´M—hjGqubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj+qubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jFqh´M—hj(qubj)�”}”(hŒT``struct sockaddr *skaddr`` socket address describing name(s) and desired operation ”h]”(j )�”}”(hŒ``struct sockaddr *skaddr``”h]”j)�”}”(hjjqh]”hŒstruct sockaddr *skaddr”…”�”}”(hjlqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjhqubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M˜hjdqubj')�”}”(hhh]”hï)�”}”(hŒ7socket address describing name(s) and desired operation”h]”hŒ7socket address describing name(s) and desired operation”…”�”}”(hjƒqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jqh´M˜hj€qubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjdqubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jqh´M˜hj(qubj)�”}”(hŒ3``int alen`` size of socket address data structure ”h]”(j )�”}”(hŒ ``int alen``”h]”j)�”}”(hj£qh]”hŒint alen”…”�”}”(hj¥qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¡qubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M™hj�qubj')�”}”(hhh]”hï)�”}”(hŒ%size of socket address data structure”h]”hŒ%size of socket address data structure”…”�”}”(hj¼qh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¸qh´M™hj¹qubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�qubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¸qh´M™hj(qubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj qubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjÞqh]”hŒ Description”…”�”}”(hjàqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÜqubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M›hj qubhï)�”}”(hŒØName and name sequence binding are indicated using a positive scope value; a negative scope value unbinds the specified name. Specifying no name (i.e. a socket address length of 0) unbinds all names from the socket.”h]”hŒØName and name sequence binding are indicated using a positive scope value; a negative scope value unbinds the specified name. Specifying no name (i.e. a socket address length of 0) unbinds all names from the socket.”…”�”}”(hjôqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mšhj qubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjrh]”hŒReturn”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjrubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mžhj qubhï)�”}”(hŒ0 on success, errno otherwise”h]”hŒ0 on success, errno otherwise”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MŸhj qubhï)�”}”(hŒ**NOTE**”h]”j¼)�”}”(hj,rh]”hŒNOTE”…”�”}”(hj.rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj*rubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¡hj qubj)�”}”(hhh]”j)�”}”(hŒnThis routine doesn't need to take the socket lock since it doesn't access any non-constant socket information.”h]”(j )�”}”(hŒBThis routine doesn't need to take the socket lock since it doesn't”h]”hŒFThis routine doesn’t need to take the socket lock since it doesn’t”…”�”}”(hjIrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¡hjErubj')�”}”(hhh]”hï)�”}”(hŒ+access any non-constant socket information.”h]”hŒ+access any non-constant socket information.”…”�”}”(hj[rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¢hjXrubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjErubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jWrh´M¡hjBrubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj qubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_getname (C function)”Œc.tipc_getname”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒHint tipc_getname (struct socket *sock, struct sockaddr *uaddr, int peer)”h]”j/)�”}”(hŒGint tipc_getname(struct socket *sock, struct sockaddr *uaddr, int peer)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjœrh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj˜rh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MßubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«rh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj˜rh²hh³jªrh´MßubjX)�”}”(hŒ tipc_getname”h]”j^)�”}”(hŒ tipc_getname”h]”hŒ tipc_getname”…”�”}”(hj½rh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¹rubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj˜rh²hh³jªrh´Mßubj)�”}”(hŒ7(struct socket *sock, struct sockaddr *uaddr, int peer)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÙrh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÕrubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjærh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÕrubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj÷rh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjôrubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jùrŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¿rsbŒc.tipc_getname”†”asbuh1hhjÕrubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÕrubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj%sh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÕrubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hj2sh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÕrubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑrubj%)�”}”(hŒstruct sockaddr *uaddr”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjKsh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjGsubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXsh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjGsubh)�”}”(hhh]”j^)�”}”(hŒsockaddr”h]”hŒsockaddr”…”�”}”(hjish²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjfsubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jksŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jsŒc.tipc_getname”†”asbuh1hhjGsubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡sh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjGsubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj•sh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjGsubj^)�”}”(hŒuaddr”h]”hŒuaddr”…”�”}”(hj¢sh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjGsubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑrubj%)�”}”(hŒint peer”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj»sh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj·subjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉsh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj·subj^)�”}”(hŒpeer”h]”hŒpeer”…”�”}”(hj×sh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj·subeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑrubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj˜rh²hh³jªrh´Mßubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj”rh²hh³jªrh´Mßubah}”(h]”j�rah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jªrh´Mßhj‘rh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ$get port ID of socket or peer socket”h]”hŒ$get port ID of socket or peer socket”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mßhjþsh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj‘rh²hh³jªrh´Mßubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jtj­jtj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX­**Parameters** ``struct socket *sock`` socket structure ``struct sockaddr *uaddr`` area for returned socket address ``int peer`` 0 = own ID, 1 = current peer ID, 2 = current/former peer ID **Return** 0 on success, errno otherwise **NOTE** This routine doesn't need to take the socket lock since it only accesses socket information that is unchanging (or which changes in a completely predictable manner).”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj#th]”hŒ Parameters”…”�”}”(hj%th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj!tubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mãhjtubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hjBth]”hŒstruct socket *sock”…”�”}”(hjDth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj@tubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Màhj}Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jæ|Œc.tipc_send_group_msg”†”asbuh1hhj}ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjZ}h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj}ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjh}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj}ubj^)�”}”(hŒtsk”h]”hŒtsk”…”�”}”(hju}h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¤|ubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjŽ}h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjŠ}ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›}h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŠ}ubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hj¬}h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj©}ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j®}Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jæ|Œc.tipc_send_group_msg”†”asbuh1hhjŠ}ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊ}h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŠ}ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjØ}h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjŠ}ubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hjå}h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŠ}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¤|ubj%)�”}”(hŒstruct tipc_member *mb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjý}h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjù}ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ~h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjù}ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_member”h]”hŒ tipc_member”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j~Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jæ|Œc.tipc_send_group_msg”†”asbuh1hhjù}ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9~h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjù}ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjG~h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjù}ubj^)�”}”(hŒmb”h]”hŒmb”…”�”}”(hjT~h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjù}ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¤|ubj%)�”}”(hŒ u32 dnode”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hjp~h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjm~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jr~Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jæ|Œc.tipc_send_group_msg”†”asbuh1hhji~ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽ~h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhji~ubj^)�”}”(hŒdnode”h]”hŒdnode”…”�”}”(hjœ~h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hji~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¤|ubj%)�”}”(hŒ u32 dport”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hj¸~h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjµ~ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jº~Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jæ|Œc.tipc_send_group_msg”†”asbuh1hhj±~ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ~h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj±~ubj^)�”}”(hŒdport”h]”hŒdport”…”�”}”(hjä~h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj±~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¤|ubj%)�”}”(hŒint dlen”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjý~h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjù~ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjù~ubj^)�”}”(hŒdlen”h]”hŒdlen”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjù~ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¤|ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjk|h²hh³j}|h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjg|h²hh³j}|h´M�ubah}”(h]”jb|ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j}|h´M�hjd|h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ'send a message to a member in the group”h]”hŒ'send a message to a member in the group”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M�hj@h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjd|h²hh³j}|h´M�ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j[j­j[j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX$**Parameters** ``struct net *net`` network namespace ``struct tipc_sock *tsk`` tipc socket ``struct msghdr *m`` message to send ``struct tipc_member *mb`` group member ``u32 dnode`` destination node ``u32 dport`` destination port ``int dlen`` total length of message data”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjeh]”hŒ Parameters”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjcubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M…hj_ubj)�”}”(hhh]”(j)�”}”(hŒ&``struct net *net`` network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hj„h]”hŒstruct net *net”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M‚hj~ubj')�”}”(hhh]”hï)�”}”(hŒnetwork namespace”h]”hŒnetwork namespace”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j™h´M‚hjšubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j™h´M‚hj{ubj)�”}”(hŒ&``struct tipc_sock *tsk`` tipc socket ”h]”(j )�”}”(hŒ``struct tipc_sock *tsk``”h]”j)�”}”(hj½h]”hŒstruct tipc_sock *tsk”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mƒhj·ubj')�”}”(hhh]”hï)�”}”(hŒ tipc socket”h]”hŒ tipc socket”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÒh´MƒhjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÒh´Mƒhj{ubj)�”}”(hŒ%``struct msghdr *m`` message to send ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hjöh]”hŒstruct msghdr *m”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjôubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M„hjðubj')�”}”(hhh]”hï)�”}”(hŒmessage to send”h]”hŒmessage to send”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j €h´M„hj €ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j €h´M„hj{ubj)�”}”(hŒ(``struct tipc_member *mb`` group member ”h]”(j )�”}”(hŒ``struct tipc_member *mb``”h]”j)�”}”(hj/€h]”hŒstruct tipc_member *mb”…”�”}”(hj1€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M…hj)€ubj')�”}”(hhh]”hï)�”}”(hŒ group member”h]”hŒ group member”…”�”}”(hjH€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jD€h´M…hjE€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj)€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jD€h´M…hj{ubj)�”}”(hŒ``u32 dnode`` destination node ”h]”(j )�”}”(hŒ ``u32 dnode``”h]”j)�”}”(hjh€h]”hŒ u32 dnode”…”�”}”(hjj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjf€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M†hjb€ubj')�”}”(hhh]”hï)�”}”(hŒdestination node”h]”hŒdestination node”…”�”}”(hj�€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j}€h´M†hj~€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjb€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j}€h´M†hj{ubj)�”}”(hŒ``u32 dport`` destination port ”h]”(j )�”}”(hŒ ``u32 dport``”h]”j)�”}”(hj¡€h]”hŒ u32 dport”…”�”}”(hj£€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŸ€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M‡hj›€ubj')�”}”(hhh]”hï)�”}”(hŒdestination port”h]”hŒdestination port”…”�”}”(hjº€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¶€h´M‡hj·€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj›€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¶€h´M‡hj{ubj)�”}”(hŒ)``int dlen`` total length of message data”h]”(j )�”}”(hŒ ``int dlen``”h]”j)�”}”(hjÚ€h]”hŒint dlen”…”�”}”(hjÜ€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjØ€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M‰hjÔ€ubj')�”}”(hhh]”hï)�”}”(hŒtotal length of message data”h]”hŒtotal length of message data”…”�”}”(hjó€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mˆhjð€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÔ€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jï€h´M‰hj{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj_ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ$tipc_send_group_unicast (C function)”Œc.tipc_send_group_unicast”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ[int tipc_send_group_unicast (struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”j/)�”}”(hŒZint tipc_send_group_unicast(struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj4�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj0�h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M´ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj0�h²hh³jB�h´M´ubjX)�”}”(hŒtipc_send_group_unicast”h]”j^)�”}”(hŒtipc_send_group_unicast”h]”hŒtipc_send_group_unicast”…”�”}”(hjU�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjQ�ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj0�h²hh³jB�h´M´ubj)�”}”(hŒ?(struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjq�h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjm�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjm�ubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj��h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŒ�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j‘�Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjW�sbŒc.tipc_send_group_unicast”†”asbuh1hhjm�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjm�ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj½�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjm�ubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjÊ�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjm�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hji�ubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjã�h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjß�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjð�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjß�ubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjþ�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j‚Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j«�Œc.tipc_send_group_unicast”†”asbuh1hhjß�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjß�ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj-‚h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjß�ubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hj:‚h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjß�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hji�ubj%)�”}”(hŒint dlen”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjR‚h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjN‚ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`‚h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjN‚ubj^)�”}”(hŒdlen”h]”hŒdlen”…”�”}”(hjn‚h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjN‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hji�ubj%)�”}”(hŒ long timeout”h]”(jG)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj‡‚h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjƒ‚ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•‚h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjƒ‚ubj^)�”}”(hŒtimeout”h]”hŒtimeout”…”�”}”(hj£‚h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjƒ‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hji�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj0�h²hh³jB�h´M´ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj,�h²hh³jB�h´M´ubah}”(h]”j'�ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jB�h´M´hj)�h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ%send message to a member in the group”h]”hŒ%send message to a member in the group”…”�”}”(hjÍ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M´hjÊ‚h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj)�h²hh³jB�h´M´ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jå‚j­jå‚j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hXQ**Parameters** ``struct socket *sock`` socket structure ``struct msghdr *m`` message to send ``int dlen`` total length of message data ``long timeout`` timeout to wait for wakeup **Description** Called from function tipc_sendmsg(), which has done all sanity checks **Return** the number of bytes sent on success, or errno”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjï‚h]”hŒ Parameters”…”�”}”(hjñ‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjí‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¸hjé‚ubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hjƒh]”hŒstruct socket *sock”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mµhjƒubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hj'ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j#ƒh´Mµhj$ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j#ƒh´Mµhjƒubj)�”}”(hŒ%``struct msghdr *m`` message to send ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hjGƒh]”hŒstruct msghdr *m”…”�”}”(hjIƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjEƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¶hjAƒubj')�”}”(hhh]”hï)�”}”(hŒmessage to send”h]”hŒmessage to send”…”�”}”(hj`ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j\ƒh´M¶hj]ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjAƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j\ƒh´M¶hjƒubj)�”}”(hŒ*``int dlen`` total length of message data ”h]”(j )�”}”(hŒ ``int dlen``”h]”j)�”}”(hj€ƒh]”hŒint dlen”…”�”}”(hj‚ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj~ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M·hjzƒubj')�”}”(hhh]”hï)�”}”(hŒtotal length of message data”h]”hŒtotal length of message data”…”�”}”(hj™ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j•ƒh´M·hj–ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjzƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j•ƒh´M·hjƒubj)�”}”(hŒ,``long timeout`` timeout to wait for wakeup ”h]”(j )�”}”(hŒ``long timeout``”h]”j)�”}”(hj¹ƒh]”hŒ long timeout”…”�”}”(hj»ƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj·ƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¸hj³ƒubj')�”}”(hhh]”hï)�”}”(hŒtimeout to wait for wakeup”h]”hŒtimeout to wait for wakeup”…”�”}”(hjÒƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j΃h´M¸hjσubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj³ƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j΃h´M¸hjƒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjé‚ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjôƒh]”hŒ Description”…”�”}”(hjöƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjòƒubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mºhjé‚ubhï)�”}”(hŒECalled from function tipc_sendmsg(), which has done all sanity checks”h]”hŒECalled from function tipc_sendmsg(), which has done all sanity checks”…”�”}”(hj „h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¹hjé‚ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj„h]”hŒReturn”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M»hjé‚ubhï)�”}”(hŒ-the number of bytes sent on success, or errno”h]”hŒ-the number of bytes sent on success, or errno”…”�”}”(hj1„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M»hjé‚ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ$tipc_send_group_anycast (C function)”Œc.tipc_send_group_anycast”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ[int tipc_send_group_anycast (struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”j/)�”}”(hŒZint tipc_send_group_anycast(struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj`„h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj\„h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MàubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjo„h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj\„h²hh³jn„h´MàubjX)�”}”(hŒtipc_send_group_anycast”h]”j^)�”}”(hŒtipc_send_group_anycast”h]”hŒtipc_send_group_anycast”…”�”}”(hj�„h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj}„ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj\„h²hh³jn„h´Màubj)�”}”(hŒ?(struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj�„h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj™„ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjª„h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj™„ubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj»„h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¸„ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j½„Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjƒ„sbŒc.tipc_send_group_anycast”†”asbuh1hhj™„ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛ„h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj™„ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjé„h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj™„ubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjö„h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj™„ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj•„ubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj …ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj …ubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hj-…h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj*…ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j/…Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jׄŒc.tipc_send_group_anycast”†”asbuh1hhj …ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjK…h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj …ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjY…h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj …ubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hjf…h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj …ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj•„ubj%)�”}”(hŒint dlen”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj~…h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjz…ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒ…h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjz…ubj^)�”}”(hŒdlen”h]”hŒdlen”…”�”}”(hjš…h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjz…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj•„ubj%)�”}”(hŒ long timeout”h]”(jG)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj³…h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¯…ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ…h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¯…ubj^)�”}”(hŒtimeout”h]”hŒtimeout”…”�”}”(hjÏ…h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¯…ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj•„ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj\„h²hh³jn„h´Màubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjX„h²hh³jn„h´Màubah}”(h]”jS„ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jn„h´MàhjU„h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ.send message to any member with given identity”h]”hŒ.send message to any member with given identity”…”�”}”(hjù…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Màhjö…h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjU„h²hh³jn„h´Màubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j†j­j†j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hXQ**Parameters** ``struct socket *sock`` socket structure ``struct msghdr *m`` message to send ``int dlen`` total length of message data ``long timeout`` timeout to wait for wakeup **Description** Called from function tipc_sendmsg(), which has done all sanity checks **Return** the number of bytes sent on success, or errno”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj†h]”hŒ Parameters”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mähj†ubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hj:†h]”hŒstruct socket *sock”…”�”}”(hj<†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj8†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Máhj4†ubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hjS†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jO†h´MáhjP†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj4†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jO†h´Máhj1†ubj)�”}”(hŒ%``struct msghdr *m`` message to send ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hjs†h]”hŒstruct msghdr *m”…”�”}”(hju†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjq†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mâhjm†ubj')�”}”(hhh]”hï)�”}”(hŒmessage to send”h]”hŒmessage to send”…”�”}”(hjŒ†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jˆ†h´Mâhj‰†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjm†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jˆ†h´Mâhj1†ubj)�”}”(hŒ*``int dlen`` total length of message data ”h]”(j )�”}”(hŒ ``int dlen``”h]”j)�”}”(hj¬†h]”hŒint dlen”…”�”}”(hj®†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjª†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mãhj¦†ubj')�”}”(hhh]”hï)�”}”(hŒtotal length of message data”h]”hŒtotal length of message data”…”�”}”(hjņh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÁ†h´Mãhj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¦†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÁ†h´Mãhj1†ubj)�”}”(hŒ,``long timeout`` timeout to wait for wakeup ”h]”(j )�”}”(hŒ``long timeout``”h]”j)�”}”(hjå†h]”hŒ long timeout”…”�”}”(hjç†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjã†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mähj߆ubj')�”}”(hhh]”hï)�”}”(hŒtimeout to wait for wakeup”h]”hŒtimeout to wait for wakeup”…”�”}”(hjþ†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jú†h´Mähjû†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj߆ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jú†h´Mähj1†ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj†ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj ‡h]”hŒ Description”…”�”}”(hj"‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mæhj†ubhï)�”}”(hŒECalled from function tipc_sendmsg(), which has done all sanity checks”h]”hŒECalled from function tipc_sendmsg(), which has done all sanity checks”…”�”}”(hj6‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Måhj†ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjG‡h]”hŒReturn”…”�”}”(hjI‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjE‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mçhj†ubhï)�”}”(hŒ-the number of bytes sent on success, or errno”h]”hŒ-the number of bytes sent on success, or errno”…”�”}”(hj]‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mçhj†ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ"tipc_send_group_bcast (C function)”Œc.tipc_send_group_bcast”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒYint tipc_send_group_bcast (struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”j/)�”}”(hŒXint tipc_send_group_bcast(struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjŒ‡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjˆ‡h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M1ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›‡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjˆ‡h²hh³jš‡h´M1ubjX)�”}”(hŒtipc_send_group_bcast”h]”j^)�”}”(hŒtipc_send_group_bcast”h]”hŒtipc_send_group_bcast”…”�”}”(hj­‡h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj©‡ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjˆ‡h²hh³jš‡h´M1ubj)�”}”(hŒ?(struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjɇh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjŇubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖ‡h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŇubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hjç‡h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjä‡ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j里modname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¯‡sbŒc.tipc_send_group_bcast”†”asbuh1hhjŇubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŇubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjŇubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hj"ˆh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŇubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÁ‡ubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj;ˆh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj7ˆubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjHˆh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj7ˆubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hjYˆh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjVˆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j[ˆŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jˆŒc.tipc_send_group_bcast”†”asbuh1hhj7ˆubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwˆh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj7ˆubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj…ˆh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj7ˆubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hj’ˆh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj7ˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÁ‡ubj%)�”}”(hŒint dlen”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjªˆh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¦ˆubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸ˆh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¦ˆubj^)�”}”(hŒdlen”h]”hŒdlen”…”�”}”(hjƈh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¦ˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÁ‡ubj%)�”}”(hŒ long timeout”h]”(jG)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj߈h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÛˆubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíˆh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÛˆubj^)�”}”(hŒtimeout”h]”hŒtimeout”…”�”}”(hjûˆh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÛˆubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÁ‡ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjˆ‡h²hh³jš‡h´M1ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj„‡h²hh³jš‡h´M1ubah}”(h]”j‡ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jš‡h´M1hj�‡h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ2send message to all members in communication group”h]”hŒ2send message to all members in communication group”…”�”}”(hj%‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M1hj"‰h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj�‡h²hh³jš‡h´M1ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j=‰j­j=‰j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hXQ**Parameters** ``struct socket *sock`` socket structure ``struct msghdr *m`` message to send ``int dlen`` total length of message data ``long timeout`` timeout to wait for wakeup **Description** Called from function tipc_sendmsg(), which has done all sanity checks **Return** the number of bytes sent on success, or errno”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjG‰h]”hŒ Parameters”…”�”}”(hjI‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjE‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M5hjA‰ubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hjf‰h]”hŒstruct socket *sock”…”�”}”(hjh‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjd‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M2hj`‰ubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j{‰h´M2hj|‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj`‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j{‰h´M2hj]‰ubj)�”}”(hŒ%``struct msghdr *m`` message to send ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hjŸ‰h]”hŒstruct msghdr *m”…”�”}”(hj¡‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M3hj™‰ubj')�”}”(hhh]”hï)�”}”(hŒmessage to send”h]”hŒmessage to send”…”�”}”(hj¸‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j´‰h´M3hjµ‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj™‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j´‰h´M3hj]‰ubj)�”}”(hŒ*``int dlen`` total length of message data ”h]”(j )�”}”(hŒ ``int dlen``”h]”j)�”}”(hj؉h]”hŒint dlen”…”�”}”(hjÚ‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÖ‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M4hjÒ‰ubj')�”}”(hhh]”hï)�”}”(hŒtotal length of message data”h]”hŒtotal length of message data”…”�”}”(hjñ‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jí‰h´M4hjî‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÒ‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jí‰h´M4hj]‰ubj)�”}”(hŒ,``long timeout`` timeout to wait for wakeup ”h]”(j )�”}”(hŒ``long timeout``”h]”j)�”}”(hjŠh]”hŒ long timeout”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M5hj Šubj')�”}”(hhh]”hï)�”}”(hŒtimeout to wait for wakeup”h]”hŒtimeout to wait for wakeup”…”�”}”(hj*Šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j&Šh´M5hj'Šubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj Šubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j&Šh´M5hj]‰ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjA‰ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjLŠh]”hŒ Description”…”�”}”(hjNŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjJŠubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M7hjA‰ubhï)�”}”(hŒECalled from function tipc_sendmsg(), which has done all sanity checks”h]”hŒECalled from function tipc_sendmsg(), which has done all sanity checks”…”�”}”(hjbŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M6hjA‰ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjsŠh]”hŒReturn”…”�”}”(hjuŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjqŠubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M8hjA‰ubhï)�”}”(hŒ-the number of bytes sent on success, or errno”h]”hŒ-the number of bytes sent on success, or errno”…”�”}”(hj‰Šh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M8hjA‰ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ"tipc_send_group_mcast (C function)”Œc.tipc_send_group_mcast”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒYint tipc_send_group_mcast (struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”j/)�”}”(hŒXint tipc_send_group_mcast(struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj¸Šh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj´Šh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M{ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇŠh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj´Šh²hh³jÆŠh´M{ubjX)�”}”(hŒtipc_send_group_mcast”h]”j^)�”}”(hŒtipc_send_group_mcast”h]”hŒtipc_send_group_mcast”…”�”}”(hjÙŠh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÕŠubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj´Šh²hh³jÆŠh´M{ubj)�”}”(hŒ?(struct socket *sock, struct msghdr *m, int dlen, long timeout)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjõŠh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjñŠubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjñŠubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j‹Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÛŠsbŒc.tipc_send_group_mcast”†”asbuh1hhjñŠubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj3‹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjñŠubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjA‹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjñŠubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjN‹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjñŠubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjíŠubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjg‹h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjc‹ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjt‹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjc‹ubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hj…‹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‚‹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j‡‹Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j/‹Œc.tipc_send_group_mcast”†”asbuh1hhjc‹ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj£‹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjc‹ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj±‹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjc‹ubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hj¾‹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjc‹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjíŠubj%)�”}”(hŒint dlen”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÖ‹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÒ‹ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjä‹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÒ‹ubj^)�”}”(hŒdlen”h]”hŒdlen”…”�”}”(hjò‹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÒ‹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjíŠubj%)�”}”(hŒ long timeout”h]”(jG)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj Œh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŒubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŒubj^)�”}”(hŒtimeout”h]”hŒtimeout”…”�”}”(hj'Œh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjíŠubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj´Šh²hh³jÆŠh´M{ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj°Šh²hh³jÆŠh´M{ubah}”(h]”j«Šah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÆŠh´M{hj­Šh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ/send message to all members with given identity”h]”hŒ/send message to all members with given identity”…”�”}”(hjQŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M{hjNŒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj­Šh²hh³jÆŠh´M{ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jiŒj­jiŒj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hXQ**Parameters** ``struct socket *sock`` socket structure ``struct msghdr *m`` message to send ``int dlen`` total length of message data ``long timeout`` timeout to wait for wakeup **Description** Called from function tipc_sendmsg(), which has done all sanity checks **Return** the number of bytes sent on success, or errno”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjsŒh]”hŒ Parameters”…”�”}”(hjuŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjqŒubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MhjmŒubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hj’Œh]”hŒstruct socket *sock”…”�”}”(hj”Œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�Œubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M|hjŒŒubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hj«Œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j§Œh´M|hj¨Œubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjŒŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j§Œh´M|hj‰Œubj)�”}”(hŒ%``struct msghdr *m`` message to send ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hjËŒh]”hŒstruct msghdr *m”…”�”}”(hjÍŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÉŒubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M}hjÅŒubj')�”}”(hhh]”hï)�”}”(hŒmessage to send”h]”hŒmessage to send”…”�”}”(hjäŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jàŒh´M}hjáŒubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÅŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jàŒh´M}hj‰Œubj)�”}”(hŒ*``int dlen`` total length of message data ”h]”(j )�”}”(hŒ ``int dlen``”h]”j)�”}”(hj�h]”hŒint dlen”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M~hjþŒubj')�”}”(hhh]”hï)�”}”(hŒtotal length of message data”h]”hŒtotal length of message data”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j�h´M~hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjþŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�h´M~hj‰Œubj)�”}”(hŒ,``long timeout`` timeout to wait for wakeup ”h]”(j )�”}”(hŒ``long timeout``”h]”j)�”}”(hj=�h]”hŒ long timeout”…”�”}”(hj?�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mhj7�ubj')�”}”(hhh]”hï)�”}”(hŒtimeout to wait for wakeup”h]”hŒtimeout to wait for wakeup”…”�”}”(hjV�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jR�h´MhjS�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj7�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jR�h´Mhj‰Œubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjmŒubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjx�h]”hŒ Description”…”�”}”(hjz�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjv�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M�hjmŒubhï)�”}”(hŒECalled from function tipc_sendmsg(), which has done all sanity checks”h]”hŒECalled from function tipc_sendmsg(), which has done all sanity checks”…”�”}”(hjŽ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M€hjmŒubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjŸ�h]”hŒReturn”…”�”}”(hj¡�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj��ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M‚hjmŒubhï)�”}”(hŒ-the number of bytes sent on success, or errno”h]”hŒ-the number of bytes sent on success, or errno”…”�”}”(hjµ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M‚hjmŒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_sk_mcast_rcv (C function)”Œc.tipc_sk_mcast_rcv”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒavoid tipc_sk_mcast_rcv (struct net *net, struct sk_buff_head *arrvq, struct sk_buff_head *inputq)”h]”j/)�”}”(hŒ`void tipc_sk_mcast_rcv(struct net *net, struct sk_buff_head *arrvq, struct sk_buff_head *inputq)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjä�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjà�h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¡ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjó�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjà�h²hh³jò�h´M¡ubjX)�”}”(hŒtipc_sk_mcast_rcv”h]”j^)�”}”(hŒtipc_sk_mcast_rcv”h]”hŒtipc_sk_mcast_rcv”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŽubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjà�h²hh³jò�h´M¡ubj)�”}”(hŒJ(struct net *net, struct sk_buff_head *arrvq, struct sk_buff_head *inputq)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj!Žh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjŽubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.Žh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŽubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj?Žh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj<Žubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jAŽŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjŽsbŒc.tipc_sk_mcast_rcv”†”asbuh1hhjŽubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_Žh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŽubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjmŽh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjŽubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjzŽh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŽubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjŽubj%)�”}”(hŒstruct sk_buff_head *arrvq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj“Žh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj�ŽubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Žh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj�Žubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj±Žh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj®Žubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j³ŽŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j[ŽŒc.tipc_sk_mcast_rcv”†”asbuh1hhj�ŽubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏŽh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj�Žubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÝŽh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj�Žubj^)�”}”(hŒarrvq”h]”hŒarrvq”…”�”}”(hjêŽh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�Žubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjŽubj%)�”}”(hŒstruct sk_buff_head *inputq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÿŽubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÿŽubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj!�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j#�Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j[ŽŒc.tipc_sk_mcast_rcv”†”asbuh1hhjÿŽubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÿŽubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjM�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÿŽubj^)�”}”(hŒinputq”h]”hŒinputq”…”�”}”(hjZ�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÿŽubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjŽubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjà�h²hh³jò�h´M¡ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÜ�h²hh³jò�h´M¡ubah}”(h]”j×�ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jò�h´M¡hjÙ�h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ5Deliver multicast messages to all destination sockets”h]”hŒ5Deliver multicast messages to all destination sockets”…”�”}”(hj„�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¡hj��h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÙ�h²hh³jò�h´M¡ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jœ�j­jœ�j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hXj**Parameters** ``struct net *net`` the associated network namespace ``struct sk_buff_head *arrvq`` queue with arriving messages, to be cloned after destination lookup ``struct sk_buff_head *inputq`` queue with cloned messages, delivered to socket after dest lookup **Description** Multi-threaded: parallel calls with reference to same queues may occur”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj¦�h]”hŒ Parameters”…”�”}”(hj¨�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¤�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¥hj �ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjÅ�h]”hŒstruct net *net”…”�”}”(hjÇ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÃ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¢hj¿�ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hjÞ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÚ�h´M¢hjÛ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¿�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÚ�h´M¢hj¼�ubj)�”}”(hŒc``struct sk_buff_head *arrvq`` queue with arriving messages, to be cloned after destination lookup ”h]”(j )�”}”(hŒ``struct sk_buff_head *arrvq``”h]”j)�”}”(hjþ�h]”hŒstruct sk_buff_head *arrvq”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjü�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M£hjø�ubj')�”}”(hhh]”hï)�”}”(hŒCqueue with arriving messages, to be cloned after destination lookup”h]”hŒCqueue with arriving messages, to be cloned after destination lookup”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j�h´M£hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjø�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�h´M£hj¼�ubj)�”}”(hŒb``struct sk_buff_head *inputq`` queue with cloned messages, delivered to socket after dest lookup ”h]”(j )�”}”(hŒ``struct sk_buff_head *inputq``”h]”j)�”}”(hj7�h]”hŒstruct sk_buff_head *inputq”…”�”}”(hj9�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¤hj1�ubj')�”}”(hhh]”hï)�”}”(hŒAqueue with cloned messages, delivered to socket after dest lookup”h]”hŒAqueue with cloned messages, delivered to socket after dest lookup”…”�”}”(hjP�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jL�h´M¤hjM�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj1�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jL�h´M¤hj¼�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj �ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjr�h]”hŒ Description”…”�”}”(hjt�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjp�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¦hj �ubhï)�”}”(hŒFMulti-threaded: parallel calls with reference to same queues may occur”h]”hŒFMulti-threaded: parallel calls with reference to same queues may occur”…”�”}”(hjˆ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¥hj �ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ#tipc_sk_conn_proto_rcv (C function)”Œc.tipc_sk_conn_proto_rcv”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ�void tipc_sk_conn_proto_rcv (struct tipc_sock *tsk, struct sk_buff *skb, struct sk_buff_head *inputq, struct sk_buff_head *xmitq)”h]”j/)�”}”(hŒ€void tipc_sk_conn_proto_rcv(struct tipc_sock *tsk, struct sk_buff *skb, struct sk_buff_head *inputq, struct sk_buff_head *xmitq)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj·�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj³�h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M(ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆ�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj³�h²hh³jÅ�h´M(ubjX)�”}”(hŒtipc_sk_conn_proto_rcv”h]”j^)�”}”(hŒtipc_sk_conn_proto_rcv”h]”hŒtipc_sk_conn_proto_rcv”…”�”}”(hjØ�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÔ�ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj³�h²hh³jÅ�h´M(ubj)�”}”(hŒe(struct tipc_sock *tsk, struct sk_buff *skb, struct sk_buff_head *inputq, struct sk_buff_head *xmitq)”h]”(j%)�”}”(hŒstruct tipc_sock *tsk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjô�h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjð�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjð�ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_sock”h]”hŒ tipc_sock”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‘ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j‘Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÚ�sbŒc.tipc_sk_conn_proto_rcv”†”asbuh1hhjð�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2‘h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjð�ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj@‘h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjð�ubj^)�”}”(hŒtsk”h]”hŒtsk”…”�”}”(hjM‘h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjð�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjì�ubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjf‘h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjb‘ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjs‘h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjb‘ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj„‘h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�‘ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j†‘Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j.‘Œc.tipc_sk_conn_proto_rcv”†”asbuh1hhjb‘ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢‘h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjb‘ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj°‘h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjb‘ubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj½‘h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjb‘ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjì�ubj%)�”}”(hŒstruct sk_buff_head *inputq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÖ‘h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÒ‘ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjã‘h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÒ‘ubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjô‘h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjñ‘ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jö‘Œmodname”NŒ classname”•NjÙjÜ)�”}”jß]”j.‘Œc.tipc_sk_conn_proto_rcv”†”asbuh1hhjÒ‘ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÒ‘ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj ’h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÒ‘ubj^)�”}”(hŒinputq”h]”hŒinputq”…”�”}”(hj-’h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÒ‘ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjì�ubj%)�”}”(hŒstruct sk_buff_head *xmitq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjF’h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjB’ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjS’h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjB’ubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjd’h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hja’ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jf’Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j.‘Œc.tipc_sk_conn_proto_rcv”†”asbuh1hhjB’ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚’h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjB’ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj�’h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjB’ubj^)�”}”(hŒxmitq”h]”hŒxmitq”…”�”}”(hj�’h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjB’ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjì�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj³�h²hh³jÅ�h´M(ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj¯�h²hh³jÅ�h´M(ubah}”(h]”jª�ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÅ�h´M(hj¬�h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ)receive a connection mng protocol message”h]”hŒ)receive a connection mng protocol message”…”�”}”(hjÇ’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M(hjÄ’h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¬�h²hh³jÅ�h´M(ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jß’j­jß’j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒî**Parameters** ``struct tipc_sock *tsk`` receiving socket ``struct sk_buff *skb`` pointer to message buffer. ``struct sk_buff_head *inputq`` buffer list containing the buffers ``struct sk_buff_head *xmitq`` output message area”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjé’h]”hŒ Parameters”…”�”}”(hjë’h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjç’ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M,hjã’ubj)�”}”(hhh]”(j)�”}”(hŒ+``struct tipc_sock *tsk`` receiving socket ”h]”(j )�”}”(hŒ``struct tipc_sock *tsk``”h]”j)�”}”(hj“h]”hŒstruct tipc_sock *tsk”…”�”}”(hj “h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M)hj“ubj')�”}”(hhh]”hï)�”}”(hŒreceiving socket”h]”hŒreceiving socket”…”�”}”(hj!“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j“h´M)hj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j“h´M)hjÿ’ubj)�”}”(hŒ3``struct sk_buff *skb`` pointer to message buffer. ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjA“h]”hŒstruct sk_buff *skb”…”�”}”(hjC“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj?“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M*hj;“ubj')�”}”(hhh]”hï)�”}”(hŒpointer to message buffer.”h]”hŒpointer to message buffer.”…”�”}”(hjZ“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jV“h´M*hjW“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj;“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jV“h´M*hjÿ’ubj)�”}”(hŒC``struct sk_buff_head *inputq`` buffer list containing the buffers ”h]”(j )�”}”(hŒ``struct sk_buff_head *inputq``”h]”j)�”}”(hjz“h]”hŒstruct sk_buff_head *inputq”…”�”}”(hj|“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjx“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M+hjt“ubj')�”}”(hhh]”hï)�”}”(hŒ"buffer list containing the buffers”h]”hŒ"buffer list containing the buffers”…”�”}”(hj““h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j�“h´M+hj�“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjt“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�“h´M+hjÿ’ubj)�”}”(hŒ2``struct sk_buff_head *xmitq`` output message area”h]”(j )�”}”(hŒ``struct sk_buff_head *xmitq``”h]”j)�”}”(hj³“h]”hŒstruct sk_buff_head *xmitq”…”�”}”(hjµ“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj±“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M-hj­“ubj')�”}”(hhh]”hï)�”}”(hŒoutput message area”h]”hŒoutput message area”…”�”}”(hjÌ“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M,hjÉ“ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj­“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÈ“h´M-hjÿ’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjã’ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_sendmsg (C function)”Œc.tipc_sendmsg”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒDint tipc_sendmsg (struct socket *sock, struct msghdr *m, size_t dsz)”h]”j/)�”}”(hŒCint tipc_sendmsg(struct socket *sock, struct msghdr *m, size_t dsz)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj ”h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj ”h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MiubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj ”h²hh³j”h´MiubjX)�”}”(hŒ tipc_sendmsg”h]”j^)�”}”(hŒ tipc_sendmsg”h]”hŒ tipc_sendmsg”…”�”}”(hj.”h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj*”ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj ”h²hh³j”h´Miubj)�”}”(hŒ3(struct socket *sock, struct msghdr *m, size_t dsz)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjJ”h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjF”ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjW”h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjF”ubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hjh”h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hje”ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jj”Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj0”sbŒc.tipc_sendmsg”†”asbuh1hhjF”ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆ”h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjF”ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj–”h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjF”ubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hj£”h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjF”ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjB”ubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¼”h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj¸”ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉ”h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¸”ubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hjÚ”h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj×”ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÜ”Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j„”Œc.tipc_sendmsg”†”asbuh1hhj¸”ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø”h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¸”ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¸”ubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¸”ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjB”ubj%)�”}”(hŒ size_t dsz”h]”(h)�”}”(hhh]”j^)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj.•h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj+•ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j0•Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j„”Œc.tipc_sendmsg”†”asbuh1hhj'•ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjL•h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj'•ubj^)�”}”(hŒdsz”h]”hŒdsz”…”�”}”(hjZ•h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj'•ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjB”ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj ”h²hh³j”h´Miubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj”h²hh³j”h´Miubah}”(h]”j”ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j”h´Mihj”h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ%send message in connectionless manner”h]”hŒ%send message in connectionless manner”…”�”}”(hj„•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mihj�•h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj”h²hh³j”h´Miubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jœ•j­jœ•j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX¿**Parameters** ``struct socket *sock`` socket structure ``struct msghdr *m`` message to send ``size_t dsz`` amount of user data to be sent **Description** Message must have an destination specified explicitly. Used for SOCK_RDM and SOCK_DGRAM messages, and for 'SYN' messages on SOCK_SEQPACKET and SOCK_STREAM connections. (Note: 'SYN+' is prohibited on SOCK_STREAM.) **Return** the number of bytes sent on success, or errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj¦•h]”hŒ Parameters”…”�”}”(hj¨•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¤•ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mmhj •ubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hjÅ•h]”hŒstruct socket *sock”…”�”}”(hjÇ•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mjhj¿•ubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hjÞ•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÚ•h´MjhjÛ•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¿•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÚ•h´Mjhj¼•ubj)�”}”(hŒ%``struct msghdr *m`` message to send ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hjþ•h]”hŒstruct msghdr *m”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjü•ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mkhjø•ubj')�”}”(hhh]”hï)�”}”(hŒmessage to send”h]”hŒmessage to send”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j–h´Mkhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjø•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j–h´Mkhj¼•ubj)�”}”(hŒ.``size_t dsz`` amount of user data to be sent ”h]”(j )�”}”(hŒ``size_t dsz``”h]”j)�”}”(hj7–h]”hŒ size_t dsz”…”�”}”(hj9–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mlhj1–ubj')�”}”(hhh]”hï)�”}”(hŒamount of user data to be sent”h]”hŒamount of user data to be sent”…”�”}”(hjP–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jL–h´MlhjM–ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj1–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jL–h´Mlhj¼•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj •ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjr–h]”hŒ Description”…”�”}”(hjt–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjp–ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mnhj •ubhï)�”}”(hŒÔMessage must have an destination specified explicitly. Used for SOCK_RDM and SOCK_DGRAM messages, and for 'SYN' messages on SOCK_SEQPACKET and SOCK_STREAM connections. (Note: 'SYN+' is prohibited on SOCK_STREAM.)”h]”hŒÜMessage must have an destination specified explicitly. Used for SOCK_RDM and SOCK_DGRAM messages, and for ‘SYN’ messages on SOCK_SEQPACKET and SOCK_STREAM connections. (Note: ‘SYN+’ is prohibited on SOCK_STREAM.)”…”�”}”(hjˆ–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mmhj •ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj™–h]”hŒReturn”…”�”}”(hj›–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj—–ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mrhj •ubhï)�”}”(hŒ7the number of bytes sent on success, or errno otherwise”h]”hŒ7the number of bytes sent on success, or errno otherwise”…”�”}”(hj¯–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mshj •ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_sendstream (C function)”Œc.tipc_sendstream”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒGint tipc_sendstream (struct socket *sock, struct msghdr *m, size_t dsz)”h]”j/)�”}”(hŒFint tipc_sendstream(struct socket *sock, struct msghdr *m, size_t dsz)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÞ–h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÚ–h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÿubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjí–h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÚ–h²hh³jì–h´MÿubjX)�”}”(hŒtipc_sendstream”h]”j^)�”}”(hŒtipc_sendstream”h]”hŒtipc_sendstream”…”�”}”(hjÿ–h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjû–ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÚ–h²hh³jì–h´Mÿubj)�”}”(hŒ3(struct socket *sock, struct msghdr *m, size_t dsz)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj—ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(—h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj—ubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj9—h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj6—ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j;—Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj—sbŒc.tipc_sendstream”†”asbuh1hhj—ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjY—h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj—ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjg—h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj—ubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjt—h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj—ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj—ubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj�—h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj‰—ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjš—h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‰—ubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hj«—h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¨—ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j­—Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jU—Œc.tipc_sendstream”†”asbuh1hhj‰—ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉ—h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‰—ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj×—h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj‰—ubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hjä—h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‰—ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj—ubj%)�”}”(hŒ size_t dsz”h]”(h)�”}”(hhh]”j^)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjÿ—h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjü—ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j˜Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jU—Œc.tipc_sendstream”†”asbuh1hhjø—ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjø—ubj^)�”}”(hŒdsz”h]”hŒdsz”…”�”}”(hj+˜h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjø—ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj—ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÚ–h²hh³jì–h´Mÿubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÖ–h²hh³jì–h´Mÿubah}”(h]”jÑ–ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jì–h´MÿhjÓ–h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒsend stream-oriented data”h]”hŒsend stream-oriented data”…”�”}”(hjU˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÿhjR˜h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÓ–h²hh³jì–h´Mÿubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jm˜j­jm˜j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX%**Parameters** ``struct socket *sock`` socket structure ``struct msghdr *m`` data to send ``size_t dsz`` total length of data to be transmitted **Description** Used for SOCK_STREAM data. **Return** the number of bytes sent on success (or partial success), or errno if no data sent”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjw˜h]”hŒ Parameters”…”�”}”(hjy˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hju˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mhjq˜ubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hj–˜h]”hŒstruct socket *sock”…”�”}”(hj˜˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj”˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mhj�˜ubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hj¯˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j«˜h´Mhj¬˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j«˜h´Mhj�˜ubj)�”}”(hŒ"``struct msghdr *m`` data to send ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hjϘh]”hŒstruct msghdr *m”…”�”}”(hjјh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj͘ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mhjɘubj')�”}”(hhh]”hï)�”}”(hŒ data to send”h]”hŒ data to send”…”�”}”(hjè˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jä˜h´Mhjå˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjɘubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jä˜h´Mhj�˜ubj)�”}”(hŒ6``size_t dsz`` total length of data to be transmitted ”h]”(j )�”}”(hŒ``size_t dsz``”h]”j)�”}”(hj™h]”hŒ size_t dsz”…”�”}”(hj ™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mhj™ubj')�”}”(hhh]”hï)�”}”(hŒ&total length of data to be transmitted”h]”hŒ&total length of data to be transmitted”…”�”}”(hj!™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j™h´Mhj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj™ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j™h´Mhj�˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjq˜ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjC™h]”hŒ Description”…”�”}”(hjE™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjA™ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mhjq˜ubhï)�”}”(hŒUsed for SOCK_STREAM data.”h]”hŒUsed for SOCK_STREAM data.”…”�”}”(hjY™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mhjq˜ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjj™h]”hŒReturn”…”�”}”(hjl™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjh™ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mhjq˜ubhï)�”}”(hŒRthe number of bytes sent on success (or partial success), or errno if no data sent”h]”hŒRthe number of bytes sent on success (or partial success), or errno if no data sent”…”�”}”(hj€™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mhjq˜ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_send_packet (C function)”Œc.tipc_send_packet”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒHint tipc_send_packet (struct socket *sock, struct msghdr *m, size_t dsz)”h]”j/)�”}”(hŒGint tipc_send_packet(struct socket *sock, struct msghdr *m, size_t dsz)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj¯™h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj«™h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MkubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾™h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj«™h²hh³j½™h´MkubjX)�”}”(hŒtipc_send_packet”h]”j^)�”}”(hŒtipc_send_packet”h]”hŒtipc_send_packet”…”�”}”(hjЙh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÌ™ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj«™h²hh³j½™h´Mkubj)�”}”(hŒ3(struct socket *sock, struct msghdr *m, size_t dsz)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjì™h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjè™ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjù™h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjè™ubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj šh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjšubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j šŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÒ™sbŒc.tipc_send_packet”†”asbuh1hhjè™ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*šh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjè™ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj8šh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjè™ubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjEšh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjè™ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjä™ubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj^šh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjZšubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkšh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjZšubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hj|šh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjyšubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j~šŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j&šŒc.tipc_send_packet”†”asbuh1hhjZšubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjššh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjZšubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¨šh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjZšubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hjµšh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjZšubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjä™ubj%)�”}”(hŒ size_t dsz”h]”(h)�”}”(hhh]”j^)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjКh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÍšubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÒšŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j&šŒc.tipc_send_packet”†”asbuh1hhjÉšubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjîšh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÉšubj^)�”}”(hŒdsz”h]”hŒdsz”…”�”}”(hjüšh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÉšubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjä™ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj«™h²hh³j½™h´Mkubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj§™h²hh³j½™h´Mkubah}”(h]”j¢™ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j½™h´Mkhj¤™h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ"send a connection-oriented message”h]”hŒ"send a connection-oriented message”…”�”}”(hj&›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mkhj#›h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¤™h²hh³j½™h´Mkubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j>›j­j>›j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX**Parameters** ``struct socket *sock`` socket structure ``struct msghdr *m`` message to send ``size_t dsz`` length of data to be transmitted **Description** Used for SOCK_SEQPACKET messages. **Return** the number of bytes sent on success, or errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjH›h]”hŒ Parameters”…”�”}”(hjJ›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjF›ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MohjB›ubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hjg›h]”hŒstruct socket *sock”…”�”}”(hji›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhje›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mlhja›ubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hj€›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j|›h´Mlhj}›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hja›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j|›h´Mlhj^›ubj)�”}”(hŒ%``struct msghdr *m`` message to send ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hj ›h]”hŒstruct msghdr *m”…”�”}”(hj¢›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjž›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mmhjš›ubj')�”}”(hhh]”hï)�”}”(hŒmessage to send”h]”hŒmessage to send”…”�”}”(hj¹›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jµ›h´Mmhj¶›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjš›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jµ›h´Mmhj^›ubj)�”}”(hŒ0``size_t dsz`` length of data to be transmitted ”h]”(j )�”}”(hŒ``size_t dsz``”h]”j)�”}”(hjÙ›h]”hŒ size_t dsz”…”�”}”(hjÛ›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj×›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MnhjÓ›ubj')�”}”(hhh]”hï)�”}”(hŒ length of data to be transmitted”h]”hŒ length of data to be transmitted”…”�”}”(hjò›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jî›h´Mnhjï›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÓ›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jî›h´Mnhj^›ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjB›ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjœh]”hŒ Description”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MphjB›ubhï)�”}”(hŒ!Used for SOCK_SEQPACKET messages.”h]”hŒ!Used for SOCK_SEQPACKET messages.”…”�”}”(hj*œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MohjB›ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj;œh]”hŒReturn”…”�”}”(hj=œh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj9œubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MqhjB›ubhï)�”}”(hŒ7the number of bytes sent on success, or errno otherwise”h]”hŒ7the number of bytes sent on success, or errno otherwise”…”�”}”(hjQœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MrhjB›ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ"tipc_sk_set_orig_addr (C function)”Œc.tipc_sk_set_orig_addr”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒBvoid tipc_sk_set_orig_addr (struct msghdr *m, struct sk_buff *skb)”h]”j/)�”}”(hŒAvoid tipc_sk_set_orig_addr(struct msghdr *m, struct sk_buff *skb)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj€œh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj|œh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MœubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�œh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj|œh²hh³jŽœh´MœubjX)�”}”(hŒtipc_sk_set_orig_addr”h]”j^)�”}”(hŒtipc_sk_set_orig_addr”h]”hŒtipc_sk_set_orig_addr”…”�”}”(hj¡œh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj�œubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj|œh²hh³jŽœh´Mœubj)�”}”(hŒ'(struct msghdr *m, struct sk_buff *skb)”h]”(j%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj½œh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj¹œubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊœh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¹œubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hjÛœh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjØœubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÝœŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj£œsbŒc.tipc_sk_set_orig_addr”†”asbuh1hhj¹œubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûœh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¹œubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj �h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¹œubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¹œubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjµœubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj.�h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj*�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj;�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj*�ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjL�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjI�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jN�Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j÷œŒc.tipc_sk_set_orig_addr”†”asbuh1hhj*�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjj�h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj*�ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjx�h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj*�ubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj…�h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj*�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjµœubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj|œh²hh³jŽœh´Mœubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjxœh²hh³jŽœh´Mœubah}”(h]”jsœah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jŽœh´Mœhjuœh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ-capture sender's address for received message”h]”hŒ/capture sender’s address for received message”…”�”}”(hj¯�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mœhj¬�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjuœh²hh³jŽœh´Mœubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÇ�j­jÇ�j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒ¯**Parameters** ``struct msghdr *m`` descriptor for message info ``struct sk_buff *skb`` received message **Note** Address is not captured if not requested by receiver.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÑ�h]”hŒ Parameters”…”�”}”(hjÓ�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÏ�ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hjË�ubj)�”}”(hhh]”(j)�”}”(hŒ1``struct msghdr *m`` descriptor for message info ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hjð�h]”hŒstruct msghdr *m”…”�”}”(hjò�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjî�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M�hjê�ubj')�”}”(hhh]”hï)�”}”(hŒdescriptor for message info”h]”hŒdescriptor for message info”…”�”}”(hj žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jžh´M�hjžubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjê�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jžh´M�hjç�ubj)�”}”(hŒ)``struct sk_buff *skb`` received message ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hj)žh]”hŒstruct sk_buff *skb”…”�”}”(hj+žh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj'žubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mžhj#žubj')�”}”(hhh]”hï)�”}”(hŒreceived message”h]”hŒreceived message”…”�”}”(hjBžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j>žh´Mžhj?žubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj#žubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j>žh´Mžhjç�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjË�ubhï)�”}”(hŒ**Note**”h]”j¼)�”}”(hjdžh]”hŒNote”…”�”}”(hjfžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjbžubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hjË�ubhï)�”}”(hŒ5Address is not captured if not requested by receiver.”h]”hŒ5Address is not captured if not requested by receiver.”…”�”}”(hjzžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hjË�ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ"tipc_sk_anc_data_recv (C function)”Œc.tipc_sk_anc_data_recv”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒXint tipc_sk_anc_data_recv (struct msghdr *m, struct sk_buff *skb, struct tipc_sock *tsk)”h]”j/)�”}”(hŒWint tipc_sk_anc_data_recv(struct msghdr *m, struct sk_buff *skb, struct tipc_sock *tsk)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj©žh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¥žh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÀubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸žh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¥žh²hh³j·žh´MÀubjX)�”}”(hŒtipc_sk_anc_data_recv”h]”j^)�”}”(hŒtipc_sk_anc_data_recv”h]”hŒtipc_sk_anc_data_recv”…”�”}”(hjÊžh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÆžubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj¥žh²hh³j·žh´MÀubj)�”}”(hŒ>(struct msghdr *m, struct sk_buff *skb, struct tipc_sock *tsk)”h]”(j%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjæžh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjâžubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóžh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjâžubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŸubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jŸŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÌžsbŒc.tipc_sk_anc_data_recv”†”asbuh1hhjâžubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$Ÿh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjâžubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj2Ÿh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjâžubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hj?Ÿh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjâžubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÞžubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjWŸh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjSŸubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdŸh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjSŸubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjuŸh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjrŸubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jwŸŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j ŸŒc.tipc_sk_anc_data_recv”†”asbuh1hhjSŸubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“Ÿh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjSŸubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¡Ÿh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjSŸubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj®Ÿh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjSŸubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÞžubj%)�”}”(hŒstruct tipc_sock *tsk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÇŸh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjßubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÔŸh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjßubh)�”}”(hhh]”j^)�”}”(hŒ tipc_sock”h]”hŒ tipc_sock”…”�”}”(hjåŸh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjâŸubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j矌modname”NŒ classname”NjÙjÜ)�”}”jß]”j ŸŒc.tipc_sk_anc_data_recv”†”asbuh1hhjßubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjßubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjßubj^)�”}”(hŒtsk”h]”hŒtsk”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjßubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÞžubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj¥žh²hh³j·žh´MÀubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj¡žh²hh³j·žh´MÀubah}”(h]”jœžah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j·žh´MÀhjžžh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ6optionally capture ancillary data for received message”h]”hŒ6optionally capture ancillary data for received message”…”�”}”(hjH h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÀhjE h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjžžh²hh³j·žh´MÀubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j` j­j` j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX***Parameters** ``struct msghdr *m`` descriptor for message info ``struct sk_buff *skb`` received message buffer ``struct tipc_sock *tsk`` TIPC port associated with message **Note** Ancillary data is not captured if not requested by receiver. **Return** 0 if successful, otherwise errno”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjj h]”hŒ Parameters”…”�”}”(hjl h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjh ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÄhjd ubj)�”}”(hhh]”(j)�”}”(hŒ1``struct msghdr *m`` descriptor for message info ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hj‰ h]”hŒstruct msghdr *m”…”�”}”(hj‹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‡ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÁhjƒ ubj')�”}”(hhh]”hï)�”}”(hŒdescriptor for message info”h]”hŒdescriptor for message info”…”�”}”(hj¢ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jž h´MÁhjŸ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjƒ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jž h´MÁhj€ ubj)�”}”(hŒ0``struct sk_buff *skb`` received message buffer ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hj h]”hŒstruct sk_buff *skb”…”�”}”(hjÄ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÀ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÂhj¼ ubj')�”}”(hhh]”hï)�”}”(hŒreceived message buffer”h]”hŒreceived message buffer”…”�”}”(hjÛ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j× h´MÂhjØ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¼ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j× h´MÂhj€ ubj)�”}”(hŒ<``struct tipc_sock *tsk`` TIPC port associated with message ”h]”(j )�”}”(hŒ``struct tipc_sock *tsk``”h]”j)�”}”(hjû h]”hŒstruct tipc_sock *tsk”…”�”}”(hjý h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjù ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÃhjõ ubj')�”}”(hhh]”hï)�”}”(hŒ!TIPC port associated with message”h]”hŒ!TIPC port associated with message”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¡h´MÃhj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjõ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¡h´MÃhj€ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjd ubhï)�”}”(hŒ**Note**”h]”j¼)�”}”(hj6¡h]”hŒNote”…”�”}”(hj8¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj4¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÅhjd ubhï)�”}”(hŒ¥Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¥sbŒc.tipc_recvstream”†”asbuh1hhj¥ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj\¥h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¥ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjj¥h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¥ubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjw¥h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¥ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¥ubj%)�”}”(hŒstruct msghdr *m”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj�¥h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjŒ¥ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�¥h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŒ¥ubh)�”}”(hhh]”j^)�”}”(hŒmsghdr”h]”hŒmsghdr”…”�”}”(hj®¥h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj«¥ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j°¥Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jX¥Œc.tipc_recvstream”†”asbuh1hhjŒ¥ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌ¥h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŒ¥ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÚ¥h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjŒ¥ubj^)�”}”(hjÑäh]”hŒm”…”�”}”(hjç¥h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŒ¥ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¥ubj%)�”}”(hŒ size_t buflen”h]”(h)�”}”(hhh]”j^)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÿ¥ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¦Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jX¥Œc.tipc_recvstream”†”asbuh1hhjû¥ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ¦h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjû¥ubj^)�”}”(hŒbuflen”h]”hŒbuflen”…”�”}”(hj.¦h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjû¥ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¥ubj%)�”}”(hŒ int flags”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjG¦h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjC¦ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjU¦h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjC¦ubj^)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjc¦h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjC¦ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj¥ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjݤh²hh³jï¤h´MÔubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÙ¤h²hh³jï¤h´MÔubah}”(h]”jÔ¤ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jï¤h´MÔhjÖ¤h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒreceive stream-oriented data”h]”hŒreceive stream-oriented data”…”�”}”(hj�¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÔhjЦh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÖ¤h²hh³jï¤h´MÔubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j¥¦j­j¥¦j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX‡**Parameters** ``struct socket *sock`` network socket ``struct msghdr *m`` descriptor for message info ``size_t buflen`` total size of user buffer area ``int flags`` receive flags **Description** Used for SOCK_STREAM messages only. If not enough data is available will optionally wait for more; never truncates data. **Return** size of returned message data, errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj¯¦h]”hŒ Parameters”…”�”}”(hj±¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj­¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MØhj©¦ubj)�”}”(hhh]”(j)�”}”(hŒ'``struct socket *sock`` network socket ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hjΦh]”hŒstruct socket *sock”…”�”}”(hjЦh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj̦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÕhjȦubj')�”}”(hhh]”hï)�”}”(hŒnetwork socket”h]”hŒnetwork socket”…”�”}”(hjç¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jã¦h´MÕhjä¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjȦubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jã¦h´MÕhjŦubj)�”}”(hŒ1``struct msghdr *m`` descriptor for message info ”h]”(j )�”}”(hŒ``struct msghdr *m``”h]”j)�”}”(hj§h]”hŒstruct msghdr *m”…”�”}”(hj §h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÖhj§ubj')�”}”(hhh]”hï)�”}”(hŒdescriptor for message info”h]”hŒdescriptor for message info”…”�”}”(hj §h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j§h´MÖhj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j§h´MÖhjŦubj)�”}”(hŒ1``size_t buflen`` total size of user buffer area ”h]”(j )�”}”(hŒ``size_t buflen``”h]”j)�”}”(hj@§h]”hŒ size_t buflen”…”�”}”(hjB§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj>§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M×hj:§ubj')�”}”(hhh]”hï)�”}”(hŒtotal size of user buffer area”h]”hŒtotal size of user buffer area”…”�”}”(hjY§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jU§h´M×hjV§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj:§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jU§h´M×hjŦubj)�”}”(hŒ``int flags`` receive flags ”h]”(j )�”}”(hŒ ``int flags``”h]”j)�”}”(hjy§h]”hŒ int flags”…”�”}”(hj{§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjw§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MØhjs§ubj')�”}”(hhh]”hï)�”}”(hŒ receive flags”h]”hŒ receive flags”…”�”}”(hj’§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jާh´MØhj�§ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjs§ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jާh´MØhjŦubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj©¦ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj´§h]”hŒ Description”…”�”}”(hj¶§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj²§ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÚhj©¦ubhï)�”}”(hŒyUsed for SOCK_STREAM messages only. If not enough data is available will optionally wait for more; never truncates data.”h]”hŒyUsed for SOCK_STREAM messages only. If not enough data is available will optionally wait for more; never truncates data.”…”�”}”(hjʧh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÙhj©¦ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjÛ§h]”hŒReturn”…”�”}”(hjݧh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÙ§ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÜhj©¦ubhï)�”}”(hŒ.size of returned message data, errno otherwise”h]”hŒ.size of returned message data, errno otherwise”…”�”}”(hjñ§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MÝhj©¦ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_write_space (C function)”Œc.tipc_write_space”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ'void tipc_write_space (struct sock *sk)”h]”j/)�”}”(hŒ&void tipc_write_space(struct sock *sk)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj ¨h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¨h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M?ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/¨h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¨h²hh³j.¨h´M?ubjX)�”}”(hŒtipc_write_space”h]”j^)�”}”(hŒtipc_write_space”h]”hŒtipc_write_space”…”�”}”(hjA¨h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj=¨ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj¨h²hh³j.¨h´M?ubj)�”}”(hŒ(struct sock *sk)”h]”j%)�”}”(hŒstruct sock *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj]¨h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjY¨ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjj¨h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjY¨ubh)�”}”(hhh]”j^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hj{¨h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjx¨ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j}¨Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjC¨sbŒc.tipc_write_space”†”asbuh1hhjY¨ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›¨h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjY¨ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj©¨h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjY¨ubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hj¶¨h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjY¨ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjU¨ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj¨h²hh³j.¨h´M?ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj¨h²hh³j.¨h´M?ubah}”(h]”j¨ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j.¨h´M?hj¨h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ-wake up thread if port congestion is released”h]”hŒ-wake up thread if port congestion is released”…”�”}”(hjà¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M?hjݨh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¨h²hh³j.¨h´M?ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jø¨j­jø¨j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒ,**Parameters** ``struct sock *sk`` socket”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj©h]”hŒ Parameters”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MChjü¨ubj)�”}”(hhh]”j)�”}”(hŒ``struct sock *sk`` socket”h]”(j )�”}”(hŒ``struct sock *sk``”h]”j)�”}”(hj!©h]”hŒstruct sock *sk”…”�”}”(hj#©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MEhj©ubj')�”}”(hhh]”hï)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj:©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M@hj7©ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j6©h´MEhj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjü¨ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_data_ready (C function)”Œc.tipc_data_ready”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ&void tipc_data_ready (struct sock *sk)”h]”j/)�”}”(hŒ%void tipc_data_ready(struct sock *sk)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj{©h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjw©h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MOubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŠ©h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjw©h²hh³j‰©h´MOubjX)�”}”(hŒtipc_data_ready”h]”j^)�”}”(hŒtipc_data_ready”h]”hŒtipc_data_ready”…”�”}”(hjœ©h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj˜©ubah}”(h]”h ]”(jpjqe•2h"]”h$]”h&]”hÅhÆuh1jWhjw©h²hh³j‰©h´MOubj)�”}”(hŒ(struct sock *sk)”h]”j%)�”}”(hŒstruct sock *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¸©h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj´©ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅ©h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj´©ubh)�”}”(hhh]”j^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjÖ©h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÓ©ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jØ©Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjž©sbŒc.tipc_data_ready”†”asbuh1hhj´©ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö©h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj´©ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj´©ubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj´©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj°©ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjw©h²hh³j‰©h´MOubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjs©h²hh³j‰©h´MOubah}”(h]”jn©ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j‰©h´MOhjp©h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ7wake up threads to indicate messages have been received”h]”hŒ7wake up threads to indicate messages have been received”…”�”}”(hj;ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MOhj8ªh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjp©h²hh³j‰©h´MOubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jSªj­jSªj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒ,**Parameters** ``struct sock *sk`` socket”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj]ªh]”hŒ Parameters”…”�”}”(hj_ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj[ªubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MShjWªubj)�”}”(hhh]”j)�”}”(hŒ``struct sock *sk`` socket”h]”(j )�”}”(hŒ``struct sock *sk``”h]”j)�”}”(hj|ªh]”hŒstruct sock *sk”…”�”}”(hj~ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjzªubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MUhjvªubj')�”}”(hhh]”hï)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj•ªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MPhj’ªubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjvªubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‘ªh´MUhjsªubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjWªubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ#tipc_sk_filter_connect (C function)”Œc.tipc_sk_filter_connect”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒdbool tipc_sk_filter_connect (struct tipc_sock *tsk, struct sk_buff *skb, struct sk_buff_head *xmitq)”h]”j/)�”}”(hŒcbool tipc_sk_filter_connect(struct tipc_sock *tsk, struct sk_buff *skb, struct sk_buff_head *xmitq)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjÖªh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÒªh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M�ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjäªh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÒªh²hh³jãªh´M�ubjX)�”}”(hŒtipc_sk_filter_connect”h]”j^)�”}”(hŒtipc_sk_filter_connect”h]”hŒtipc_sk_filter_connect”…”�”}”(hjöªh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjòªubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÒªh²hh³jãªh´M�ubj)�”}”(hŒH(struct tipc_sock *tsk, struct sk_buff *skb, struct sk_buff_head *xmitq)”h]”(j%)�”}”(hŒstruct tipc_sock *tsk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj«ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj«ubh)�”}”(hhh]”j^)�”}”(hŒ tipc_sock”h]”hŒ tipc_sock”…”�”}”(hj0«h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj-«ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j2«Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjøªsbŒc.tipc_sk_filter_connect”†”asbuh1hhj«ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjP«h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj«ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj^«h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj«ubj^)�”}”(hŒtsk”h]”hŒtsk”…”�”}”(hjk«h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj«ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj «ubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj„«h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj€«ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘«h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj€«ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj¢«h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŸ«ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¤«Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jL«Œc.tipc_sk_filter_connect”†”asbuh1hhj€«ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀ«h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj€«ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjΫh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj€«ubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjÛ«h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj€«ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj «ubj%)�”}”(hŒstruct sk_buff_head *xmitq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjô«h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjð«ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjð«ubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¬ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¬Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jL«Œc.tipc_sk_filter_connect”†”asbuh1hhjð«ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0¬h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjð«ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj>¬h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjð«ubj^)�”}”(hŒxmitq”h]”hŒxmitq”…”�”}”(hjK¬h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjð«ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj «ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÒªh²hh³jãªh´M�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjΪh²hh³jãªh´M�ubah}”(h]”jɪah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jãªh´M�hj˪h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ4check incoming message for a connection-based socket”h]”hŒ4check incoming message for a connection-based socket”…”�”}”(hju¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M�hjr¬h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj˪h²hh³jãªh´M�ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j�¬j­j�¬j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒó**Parameters** ``struct tipc_sock *tsk`` TIPC socket ``struct sk_buff *skb`` pointer to message buffer. ``struct sk_buff_head *xmitq`` for Nagle ACK if any **Return** true if message should be added to receive queue, false otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj—¬h]”hŒ Parameters”…”�”}”(hj™¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj•¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M‘hj‘¬ubj)�”}”(hhh]”(j)�”}”(hŒ&``struct tipc_sock *tsk`` TIPC socket ”h]”(j )�”}”(hŒ``struct tipc_sock *tsk``”h]”j)�”}”(hj¶¬h]”hŒstruct tipc_sock *tsk”…”�”}”(hj¸¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj´¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MŽhj°¬ubj')�”}”(hhh]”hï)�”}”(hŒ TIPC socket”h]”hŒ TIPC socket”…”�”}”(hjϬh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jˬh´MŽhj̬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj°¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jˬh´MŽhj­¬ubj)�”}”(hŒ3``struct sk_buff *skb`` pointer to message buffer. ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjï¬h]”hŒstruct sk_buff *skb”…”�”}”(hjñ¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjí¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M�hjé¬ubj')�”}”(hhh]”hï)�”}”(hŒpointer to message buffer.”h]”hŒpointer to message buffer.”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j­h´M�hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjé¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j­h´M�hj­¬ubj)�”}”(hŒ4``struct sk_buff_head *xmitq`` for Nagle ACK if any ”h]”(j )�”}”(hŒ``struct sk_buff_head *xmitq``”h]”j)�”}”(hj(­h]”hŒstruct sk_buff_head *xmitq”…”�”}”(hj*­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M�hj"­ubj')�”}”(hhh]”hï)�”}”(hŒfor Nagle ACK if any”h]”hŒfor Nagle ACK if any”…”�”}”(hjA­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j=­h´M�hj>­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj"­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j=­h´M�hj­¬ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj‘¬ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjc­h]”hŒReturn”…”�”}”(hje­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hja­ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M’hj‘¬ubhï)�”}”(hŒAtrue if message should be added to receive queue, false otherwise”h]”hŒAtrue if message should be added to receive queue, false otherwise”…”�”}”(hjy­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M‘hj‘¬ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒrcvbuf_limit (C function)”Œc.rcvbuf_limit”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ@unsigned int rcvbuf_limit (struct sock *sk, struct sk_buff *skb)”h]”j/)�”}”(hŒ?unsigned int rcvbuf_limit(struct sock *sk, struct sk_buff *skb)”h]”(jG)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¨­h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¤­h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MöubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·­h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¤­h²hh³j¶­h´MöubjG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÅ­h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¤­h²hh³j¶­h´MöubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓ­h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¤­h²hh³j¶­h´MöubjX)�”}”(hŒ rcvbuf_limit”h]”j^)�”}”(hŒ rcvbuf_limit”h]”hŒ rcvbuf_limit”…”�”}”(hjå­h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjá­ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj¤­h²hh³j¶­h´Möubj)�”}”(hŒ&(struct sock *sk, struct sk_buff *skb)”h]”(j%)�”}”(hŒstruct sock *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjý­ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjý­ubh)�”}”(hhh]”j^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj®ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j!®Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjç­sbŒc.rcvbuf_limit”†”asbuh1hhjý­ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?®h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjý­ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjM®h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjý­ubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hjZ®h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjý­ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjù­ubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjs®h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjo®ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€®h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjo®ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hj‘®h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŽ®ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j“®Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j;®Œc.rcvbuf_limit”†”asbuh1hhjo®ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯®h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjo®ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj½®h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjo®ubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjÊ®h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjo®ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjù­ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj¤­h²hh³j¶­h´Möubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj ­h²hh³j¶­h´Möubah}”(h]”j›­ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j¶­h´Möhj�­h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ1get proper overload limit of socket receive queue”h]”hŒ1get proper overload limit of socket receive queue”…”�”}”(hjô®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Möhjñ®h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj�­h²hh³j¶­h´Möubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j ¯j­j ¯j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hXã**Parameters** ``struct sock *sk`` socket ``struct sk_buff *skb`` message **Description** For connection oriented messages, irrespective of importance, default queue limit is 2 MB. For connectionless messages, queue limits are based on message importance as follows: TIPC_LOW_IMPORTANCE (2 MB) TIPC_MEDIUM_IMPORTANCE (4 MB) TIPC_HIGH_IMPORTANCE (8 MB) TIPC_CRITICAL_IMPORTANCE (16 MB) **Return** overload limit according to corresponding message importance”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj¯h]”hŒ Parameters”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Múhj¯ubj)�”}”(hhh]”(j)�”}”(hŒ``struct sock *sk`` socket ”h]”(j )�”}”(hŒ``struct sock *sk``”h]”j)�”}”(hj5¯h]”hŒstruct sock *sk”…”�”}”(hj7¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj3¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M÷hj/¯ubj')�”}”(hhh]”hï)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hjN¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jJ¯h´M÷hjK¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj/¯ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jJ¯h´M÷hj,¯ubj)�”}”(hŒ ``struct sk_buff *skb`` message ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjn¯h]”hŒstruct sk_buff *skb”…”�”}”(hjp¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjl¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Møhjh¯ubj')�”}”(hhh]”hï)�”}”(hŒmessage”h]”hŒmessage”…”�”}”(hj‡¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jƒ¯h´Møhj„¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjh¯ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jƒ¯h´Møhj,¯ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj¯ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj©¯h]”hŒ Description”…”�”}”(hj«¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj§¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Múhj¯ubhï)�”}”(hŒZFor connection oriented messages, irrespective of importance, default queue limit is 2 MB.”h]”hŒZFor connection oriented messages, irrespective of importance, default queue limit is 2 MB.”…”�”}”(hj¿¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mùhj¯ubhï)�”}”(hŒUFor connectionless messages, queue limits are based on message importance as follows:”h]”hŒUFor connectionless messages, queue limits are based on message importance as follows:”…”�”}”(hjίh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mühj¯ubhï)�”}”(hŒ„TIPC_LOW_IMPORTANCE (2 MB) TIPC_MEDIUM_IMPORTANCE (4 MB) TIPC_HIGH_IMPORTANCE (8 MB) TIPC_CRITICAL_IMPORTANCE (16 MB)”h]”hŒ„TIPC_LOW_IMPORTANCE (2 MB) TIPC_MEDIUM_IMPORTANCE (4 MB) TIPC_HIGH_IMPORTANCE (8 MB) TIPC_CRITICAL_IMPORTANCE (16 MB)”…”�”}”(hjݯh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mÿhj¯ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjî¯h]”hŒReturn”…”�”}”(hjð¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjì¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hj¯ubhï)�”}”(hŒint tipc_sk_backlog_rcv (struct sock *sk, struct sk_buff *skb)”h]”j/)�”}”(hŒ=int tipc_sk_backlog_rcv(struct sock *sk, struct sk_buff *skb)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj³h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mh ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj$³h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj³h²hh³j#³h´Mh ubjX)�”}”(hŒtipc_sk_backlog_rcv”h]”j^)�”}”(hŒtipc_sk_backlog_rcv”h]”hŒtipc_sk_backlog_rcv”…”�”}”(hj6³h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj2³ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj³h²hh³j#³h´Mh ubj)�”}”(hŒ&(struct sock *sk, struct sk_buff *skb)”h]”(j%)�”}”(hŒstruct sock *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjR³h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjN³ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj_³h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjN³ubh)�”}”(hhh]”j^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjp³h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjm³ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jr³Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj8³sbŒc.tipc_sk_backlog_rcv”†”asbuh1hhjN³ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�³h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjN³ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjž³h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjN³ubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hj«³h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjN³ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjJ³ubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjijh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÀ³ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjѳh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÀ³ubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjâ³h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjß³ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j䳌modname”NŒ classname”NjÙjÜ)�”}”jß]”jŒ³Œc.tipc_sk_backlog_rcv”†”asbuh1hhjÀ³ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÀ³ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÀ³ubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÀ³ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjJ³ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj³h²hh³j#³h´Mh ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj ³h²hh³j#³h´Mh ubah}”(h]”j³ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j#³h´Mh hj ³h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ*handle incoming message from backlog queue”h]”hŒ*handle incoming message from backlog queue”…”�”}”(hjE´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mh hjB´h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj ³h²hh³j#³h´Mh ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j]´j­j]´j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒ~**Parameters** ``struct sock *sk`` socket ``struct sk_buff *skb`` message **Description** Caller must hold socket lock”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjg´h]”hŒ Parameters”…”�”}”(hji´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hje´ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Ml hja´ubj)�”}”(hhh]”(j)�”}”(hŒ``struct sock *sk`` socket ”h]”(j )�”}”(hŒ``struct sock *sk``”h]”j)�”}”(hj†´h]”hŒstruct sock *sk”…”�”}”(hjˆ´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj„´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mi hj€´ubj')�”}”(hhh]”hï)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hjŸ´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j›´h´Mi hjœ´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj€´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j›´h´Mi hj}´ubj)�”}”(hŒ ``struct sk_buff *skb`` message ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hj¿´h]”hŒstruct sk_buff *skb”…”�”}”(hjÁ´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj½´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mj hj¹´ubj')�”}”(hhh]”hï)�”}”(hŒmessage”h]”hŒmessage”…”�”}”(hjØ´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÔ´h´Mj hjÕ´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¹´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÔ´h´Mj hj}´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhja´ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjú´h]”hŒ Description”…”�”}”(hjü´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjø´ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Ml hja´ubhï)�”}”(hŒCaller must hold socket lock”h]”hŒCaller must hold socket lock”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mk hja´ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_sk_enqueue (C function)”Œc.tipc_sk_enqueue”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒjvoid tipc_sk_enqueue (struct sk_buff_head *inputq, struct sock *sk, u32 dport, struct sk_buff_head *xmitq)”h]”j/)�”}”(hŒivoid tipc_sk_enqueue(struct sk_buff_head *inputq, struct sock *sk, u32 dport, struct sk_buff_head *xmitq)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj?µh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj;µh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M€ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNµh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj;µh²hh³jMµh´M€ ubjX)�”}”(hŒtipc_sk_enqueue”h]”j^)�”}”(hŒtipc_sk_enqueue”h]”hŒtipc_sk_enqueue”…”�”}”(hj`µh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj\µubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj;µh²hh³jMµh´M€ ubj)�”}”(hŒU(struct sk_buff_head *inputq, struct sock *sk, u32 dport, struct sk_buff_head *xmitq)”h]”(j%)�”}”(hŒstruct sk_buff_head *inputq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj|µh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjxµubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰µh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjxµubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjšµh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj—µubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jœµŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjbµsbŒc.tipc_sk_enqueue”†”asbuh1hhjxµubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºµh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjxµubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjȵh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjxµubj^)�”}”(hŒinputq”h]”hŒinputq”…”�”}”(hjÕµh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjxµubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjtµubj%)�”}”(hŒstruct sock *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjîµh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjêµubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûµh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjêµubh)�”}”(hhh]”j^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hj ¶h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj ¶ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¶Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¶µŒc.tipc_sk_enqueue”†”asbuh1hhjêµubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*¶h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjêµubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj8¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjêµubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hjE¶h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjêµubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjtµubj%)�”}”(hŒ u32 dport”h]”(h)�”}”(hhh]”j^)�”}”(hŒu32”h]”hŒu32”…”�”}”(hja¶h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj^¶ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jc¶Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¶µŒc.tipc_sk_enqueue”†”asbuh1hhjZ¶ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjZ¶ubj^)�”}”(hŒdport”h]”hŒdport”…”�”}”(hj�¶h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjZ¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjtµubj%)�”}”(hŒstruct sk_buff_head *xmitq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¦¶h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj¢¶ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³¶h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¢¶ubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hjĶh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÁ¶ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jƶŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¶µŒc.tipc_sk_enqueue”†”asbuh1hhj¢¶ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjâ¶h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¢¶ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjð¶h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¢¶ubj^)�”}”(hŒxmitq”h]”hŒxmitq”…”�”}”(hjý¶h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¢¶ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjtµubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj;µh²hh³jMµh´M€ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj7µh²hh³jMµh´M€ ubah}”(h]”j2µah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jMµh´M€ hj4µh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒgextract all buffers with destination 'dport' from inputq and try adding them to socket or backlog queue”h]”hŒkextract all buffers with destination ‘dport’ from inputq and try adding them to socket or backlog queue”…”�”}”(hj'·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M€ hj$·h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj4µh²hh³jMµh´M€ ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j?·j­j?·j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX?**Parameters** ``struct sk_buff_head *inputq`` list of incoming buffers with potentially different destinations ``struct sock *sk`` socket where the buffers should be enqueued ``u32 dport`` port number for the socket ``struct sk_buff_head *xmitq`` output queue **Description** Caller must hold socket lock”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjI·h]”hŒ Parameters”…”�”}”(hjK·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjG·ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M„ hjC·ubj)�”}”(hhh]”(j)�”}”(hŒa``struct sk_buff_head *inputq`` list of incoming buffers with potentially different destinations ”h]”(j )�”}”(hŒ``struct sk_buff_head *inputq``”h]”j)�”}”(hjh·h]”hŒstruct sk_buff_head *inputq”…”�”}”(hjj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjf·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M‚ hjb·ubj')�”}”(hhh]”hï)�”}”(hŒ@list of incoming buffers with potentially different destinations”h]”hŒ@list of incoming buffers with potentially different destinations”…”�”}”(hj�·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j}·h´M‚ hj~·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjb·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j}·h´M‚ hj_·ubj)�”}”(hŒ@``struct sock *sk`` socket where the buffers should be enqueued ”h]”(j )�”}”(hŒ``struct sock *sk``”h]”j)�”}”(hj¡·h]”hŒstruct sock *sk”…”�”}”(hj£·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŸ·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mƒ hj›·ubj')�”}”(hhh]”hï)�”}”(hŒ+socket where the buffers should be enqueued”h]”hŒ+socket where the buffers should be enqueued”…”�”}”(hjº·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¶·h´Mƒ hj··ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj›·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¶·h´Mƒ hj_·ubj)�”}”(hŒ)``u32 dport`` port number for the socket ”h]”(j )�”}”(hŒ ``u32 dport``”h]”j)�”}”(hjÚ·h]”hŒ u32 dport”…”�”}”(hjÜ·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjØ·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M„ hjÔ·ubj')�”}”(hhh]”hï)�”}”(hŒport number for the socket”h]”hŒport number for the socket”…”�”}”(hjó·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jï·h´M„ hjð·ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÔ·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jï·h´M„ hj_·ubj)�”}”(hŒ,``struct sk_buff_head *xmitq`` output queue ”h]”(j )�”}”(hŒ``struct sk_buff_head *xmitq``”h]”j)�”}”(hj¸h]”hŒstruct sk_buff_head *xmitq”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M… hj ¸ubj')�”}”(hhh]”hï)�”}”(hŒ output queue”h]”hŒ output queue”…”�”}”(hj,¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j(¸h´M… hj)¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj ¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j(¸h´M… hj_·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjC·ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjN¸h]”hŒ Description”…”�”}”(hjP¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjL¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M‡ hjC·ubhï)�”}”(hŒCaller must hold socket lock”h]”hŒCaller must hold socket lock”…”�”}”(hjd¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M† hjC·ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_sk_rcv (C function)”Œ c.tipc_sk_rcv”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ?void tipc_sk_rcv (struct net *net, struct sk_buff_head *inputq)”h]”j/)�”}”(hŒ>void tipc_sk_rcv(struct net *net, struct sk_buff_head *inputq)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj“¸h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj�¸h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¹ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢¸h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj�¸h²hh³j¡¸h´M¹ ubjX)�”}”(hŒ tipc_sk_rcv”h]”j^)�”}”(hŒ tipc_sk_rcv”h]”hŒ tipc_sk_rcv”…”�”}”(hj´¸h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj°¸ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj�¸h²hh³j¡¸h´M¹ ubj)�”}”(hŒ.(struct net *net, struct sk_buff_head *inputq)”h]”(j%)�”}”(hŒstruct net *net”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjиh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj̸ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjݸh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj̸ubh)�”}”(hhh]”j^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjî¸h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjë¸ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jð¸Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¶¸sbŒ c.tipc_sk_rcv”†”asbuh1hhj̸ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj̸ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj̸ubj^)�”}”(hŒnet”h]”hŒnet”…”�”}”(hj)¹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj̸ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjȸubj%)�”}”(hŒstruct sk_buff_head *inputq”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjB¹h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj>¹ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjO¹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj>¹ubh)�”}”(hhh]”j^)�”}”(hŒ sk_buff_head”h]”hŒ sk_buff_head”…”�”}”(hj`¹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj]¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jb¹Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j ¹Œ c.tipc_sk_rcv”†”asbuh1hhj>¹ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~¹h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj>¹ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjŒ¹h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj>¹ubj^)�”}”(hŒinputq”h]”hŒinputq”…”�”}”(hj™¹h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj>¹ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjȸubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj�¸h²hh³j¡¸h´M¹ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj‹¸h²hh³j¡¸h´M¹ ubah}”(h]”j†¸ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j¡¸h´M¹ hjˆ¸h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ"handle a chain of incoming buffers”h]”hŒ"handle a chain of incoming buffers”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¹ hjÀ¹h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjˆ¸h²hh³j¡¸h´M¹ ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÛ¹j­jÛ¹j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX **Parameters** ``struct net *net`` the associated network namespace ``struct sk_buff_head *inputq`` buffer list containing the buffers Consumes all buffers in list until inputq is empty **Note** may be called in multiple threads referring to the same queue”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjå¹h]”hŒ Parameters”…”�”}”(hjç¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjã¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M½ hjß¹ubj)�”}”(hhh]”(j)�”}”(hŒ5``struct net *net`` the associated network namespace ”h]”(j )�”}”(hŒ``struct net *net``”h]”j)�”}”(hjºh]”hŒstruct net *net”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjºubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mº hjþ¹ubj')�”}”(hhh]”hï)�”}”(hŒ the associated network namespace”h]”hŒ the associated network namespace”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jºh´Mº hjºubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjþ¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jºh´Mº hjû¹ubj)�”}”(hŒv``struct sk_buff_head *inputq`` buffer list containing the buffers Consumes all buffers in list until inputq is empty ”h]”(j )�”}”(hŒ``struct sk_buff_head *inputq``”h]”j)�”}”(hj=ºh]”hŒstruct sk_buff_head *inputq”…”�”}”(hj?ºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;ºubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¼ hj7ºubj')�”}”(hhh]”hï)�”}”(hŒUbuffer list containing the buffers Consumes all buffers in list until inputq is empty”h]”hŒUbuffer list containing the buffers Consumes all buffers in list until inputq is empty”…”�”}”(hjVºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M» hjSºubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj7ºubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jRºh´M¼ hjû¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjß¹ubhï)�”}”(hŒ**Note**”h]”j¼)�”}”(hjyºh]”hŒNote”…”�”}”(hj{ºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjwºubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¾ hjß¹ubhï)�”}”(hŒ=may be called in multiple threads referring to the same queue”h]”hŒ=may be called in multiple threads referring to the same queue”…”�”}”(hj�ºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M½ hjß¹ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_connect (C function)”Œc.tipc_connect”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ]int tipc_connect (struct socket *sock, struct sockaddr_unsized *dest, int destlen, int flags)”h]”j/)�”}”(hŒ\int tipc_connect(struct socket *sock, struct sockaddr_unsized *dest, int destlen, int flags)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj¾ºh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjººh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjͺh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjººh²hh³j̺h´M ubjX)�”}”(hŒ tipc_connect”h]”j^)�”}”(hŒ tipc_connect”h]”hŒ tipc_connect”…”�”}”(hjߺh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÛºubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjººh²hh³j̺h´M ubj)�”}”(hŒL(struct socket *sock, struct sockaddr_unsized *dest, int destlen, int flags)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjûºh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj÷ºubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj÷ºubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj»ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j»Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjáºsbŒc.tipc_connect”†”asbuh1hhj÷ºubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9»h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj÷ºubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjG»h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj÷ºubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjT»h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj÷ºubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjóºubj%)�”}”(hŒstruct sockaddr_unsized *dest”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjm»h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hji»ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjz»h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhji»ubh)�”}”(hhh]”j^)�”}”(hŒsockaddr_unsized”h]”hŒsockaddr_unsized”…”�”}”(hj‹»h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjˆ»ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j�»Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”j5»Œc.tipc_connect”†”asbuh1hhji»ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj©»h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhji»ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj·»h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhji»ubj^)�”}”(hŒdest”h]”hŒdest”…”�”}”(hjÄ»h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hji»ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjóºubj%)�”}”(hŒ int destlen”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÝ»h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÙ»ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjë»h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÙ»ubj^)�”}”(hŒdestlen”h]”hŒdestlen”…”�”}”(hjù»h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÙ»ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjóºubj%)�”}”(hŒ int flags”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¼ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj ¼h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¼ubj^)�”}”(hŒflags”h]”hŒflags”…”�”}”(hj.¼h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¼ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjóºubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjººh²hh³j̺h´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj¶ºh²hh³j̺h´M ubah}”(h]”j±ºah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j̺h´M hj³ºh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ+establish a connection to another TIPC port”h]”hŒ+establish a connection to another TIPC port”…”�”}”(hjX¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hjU¼h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj³ºh²hh³j̺h´M ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jp¼j­jp¼j®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX"**Parameters** ``struct socket *sock`` socket structure ``struct sockaddr_unsized *dest`` socket address for destination port ``int destlen`` size of socket address data structure ``int flags`` file-related flags associated with socket **Return** 0 on success, errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjz¼h]”hŒ Parameters”…”�”}”(hj|¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjx¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hjt¼ubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hj™¼h]”hŒstruct socket *sock”…”�”}”(hj›¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj—¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hj“¼ubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hj²¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j®¼h´M hj¯¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj“¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j®¼h´M hj�¼ubj)�”}”(hŒF``struct sockaddr_unsized *dest`` socket address for destination port ”h]”(j )�”}”(hŒ!``struct sockaddr_unsized *dest``”h]”j)�”}”(hjÒ¼h]”hŒstruct sockaddr_unsized *dest”…”�”}”(hjÔ¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjмubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hj̼ubj')�”}”(hhh]”hï)�”}”(hŒ#socket address for destination port”h]”hŒ#socket address for destination port”…”�”}”(hjë¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jç¼h´M hjè¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj̼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jç¼h´M hj�¼ubj)�”}”(hŒ6``int destlen`` size of socket address data structure ”h]”(j )�”}”(hŒ``int destlen``”h]”j)�”}”(hj ½h]”hŒ int destlen”…”�”}”(hj ½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hj½ubj')�”}”(hhh]”hï)�”}”(hŒ%size of socket address data structure”h]”hŒ%size of socket address data structure”…”�”}”(hj$½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j ½h´M hj!½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j ½h´M hj�¼ubj)�”}”(hŒ8``int flags`` file-related flags associated with socket ”h]”(j )�”}”(hŒ ``int flags``”h]”j)�”}”(hjD½h]”hŒ int flags”…”�”}”(hjF½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjB½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hj>½ubj')�”}”(hhh]”hï)�”}”(hŒ)file-related flags associated with socket”h]”hŒ)file-related flags associated with socket”…”�”}”(hj]½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jY½h´M hjZ½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj>½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jY½h´M hj�¼ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjt¼ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj½h]”hŒReturn”…”�”}”(hj�½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj}½ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hjt¼ubhï)�”}”(hŒ0 on success, errno otherwise”h]”hŒ0 on success, errno otherwise”…”�”}”(hj•½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M hjt¼ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_listen (C function)”Œ c.tipc_listen”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ.int tipc_listen (struct socket *sock, int len)”h]”j/)�”}”(hŒ-int tipc_listen(struct socket *sock, int len)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjĽh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÀ½h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mq ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓ½h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÀ½h²hh³jÒ½h´Mq ubjX)�”}”(hŒ tipc_listen”h]”j^)�”}”(hŒ tipc_listen”h]”hŒ tipc_listen”…”�”}”(hjå½h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjá½ubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÀ½h²hh³jÒ½h´Mq ubj)�”}”(hŒ(struct socket *sock, int len)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjý½ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjý½ubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¾ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j!¾Œmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjç½sbŒ c.tipc_listen”†”asbuh1hhjý½ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj?¾h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjý½ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjM¾h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjý½ubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjZ¾h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjý½ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjù½ubj%)�”}”(hŒint len”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjs¾h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjo¾ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�¾h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjo¾ubj^)�”}”(hŒlen”h]”hŒlen”…”�”}”(hj�¾h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjo¾ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjù½ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÀ½h²hh³jÒ½h´Mq ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj¼½h²hh³jÒ½h´Mq ubah}”(h]”j·½ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÒ½h´Mq hj¹½h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ/allow socket to listen for incoming connections”h]”hŒ/allow socket to listen for incoming connections”…”�”}”(hj¹¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mq hj¶¾h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¹½h²hh³jÒ½h´Mq ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jѾj­jѾj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒ}**Parameters** ``struct socket *sock`` socket structure ``int len`` (unused) **Return** 0 on success, errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÛ¾h]”hŒ Parameters”…”�”}”(hjݾh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÙ¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mu hjÕ¾ubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hjú¾h]”hŒstruct socket *sock”…”�”}”(hjü¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjø¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mr hjô¾ubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¿h´Mr hj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjô¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¿h´Mr hjñ¾ubj)�”}”(hŒ``int len`` (unused) ”h]”(j )�”}”(hŒ ``int len``”h]”j)�”}”(hj3¿h]”hŒint len”…”�”}”(hj5¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj1¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Ms hj-¿ubj')�”}”(hhh]”hï)�”}”(hŒ(unused)”h]”hŒ(unused)”…”�”}”(hjL¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jH¿h´Ms hjI¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj-¿ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jH¿h´Ms hjñ¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÕ¾ubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjn¿h]”hŒReturn”…”�”}”(hjp¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjl¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mu hjÕ¾ubhï)�”}”(hŒ0 on success, errno otherwise”h]”hŒ0 on success, errno otherwise”…”�”}”(hj„¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mu hjÕ¾ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_accept (C function)”Œ c.tipc_accept”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ\int tipc_accept (struct socket *sock, struct socket *new_sock, struct proto_accept_arg *arg)”h]”j/)�”}”(hŒ[int tipc_accept(struct socket *sock, struct socket *new_sock, struct proto_accept_arg *arg)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj³¿h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¯¿h²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¤ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¯¿h²hh³jÁ¿h´M¤ ubjX)�”}”(hŒ tipc_accept”h]”j^)�”}”(hŒ tipc_accept”h]”hŒ tipc_accept”…”�”}”(hjÔ¿h²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjпubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj¯¿h²hh³jÁ¿h´M¤ ubj)�”}”(hŒL(struct socket *sock, struct socket *new_sock, struct proto_accept_arg *arg)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjð¿h²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjì¿ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjý¿h²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjì¿ubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj Àubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÀŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÖ¿sbŒ c.tipc_accept”†”asbuh1hhjì¿ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.Àh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjì¿ubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj<Àh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjì¿ubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjIÀh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjì¿ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjè¿ubj%)�”}”(hŒstruct socket *new_sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjbÀh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj^ÀubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoÀh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj^Àubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj€Àh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj}Àubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j‚ÀŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j*ÀŒ c.tipc_accept”†”asbuh1hhj^ÀubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžÀh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj^Àubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¬Àh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj^Àubj^)�”}”(hŒnew_sock”h]”hŒnew_sock”…”�”}”(hj¹Àh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj^Àubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjè¿ubj%)�”}”(hŒstruct proto_accept_arg *arg”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÒÀh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÎÀubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßÀh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÎÀubh)�”}”(hhh]”j^)�”}”(hŒproto_accept_arg”h]”hŒproto_accept_arg”…”�”}”(hjðÀh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjíÀubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jòÀŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j*ÀŒ c.tipc_accept”†”asbuh1hhjÎÀubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÎÀubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÎÀubj^)�”}”(hŒarg”h]”hŒarg”…”�”}”(hj)Áh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÎÀubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjè¿ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj¯¿h²hh³jÁ¿h´M¤ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj«¿h²hh³jÁ¿h´M¤ ubah}”(h]”j¦¿ah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÁ¿h´M¤ hj¨¿h²hubjŠ)�”}”(hhh]”hï)�”}”(hŒwait for connection request”h]”hŒwait for connection request”…”�”}”(hjSÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¤ hjPÁh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj¨¿h²hh³jÁ¿h´M¤ ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jkÁj­jkÁj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒà**Parameters** ``struct socket *sock`` listening socket ``struct socket *new_sock`` new socket that is to be connected ``struct proto_accept_arg *arg`` arguments for accept **Return** 0 on success, errno otherwise”•(h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjuÁh]”hŒ Parameters”…”�”}”(hjwÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjsÁubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¨ hjoÁubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` listening socket ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hj”Áh]”hŒstruct socket *sock”…”�”}”(hj–Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj’Áubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¥ hjŽÁubj')�”}”(hhh]”hï)�”}”(hŒlistening socket”h]”hŒlistening socket”…”�”}”(hj­Áh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j©Áh´M¥ hjªÁubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjŽÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j©Áh´M¥ hj‹Áubj)�”}”(hŒ?``struct socket *new_sock`` new socket that is to be connected ”h]”(j )�”}”(hŒ``struct socket *new_sock``”h]”j)�”}”(hjÍÁh]”hŒstruct socket *new_sock”…”�”}”(hjÏÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjËÁubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¦ hjÇÁubj')�”}”(hhh]”hï)�”}”(hŒ"new socket that is to be connected”h]”hŒ"new socket that is to be connected”…”�”}”(hjæÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jâÁh´M¦ hjãÁubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÇÁubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jâÁh´M¦ hj‹Áubj)�”}”(hŒ6``struct proto_accept_arg *arg`` arguments for accept ”h]”(j )�”}”(hŒ ``struct proto_accept_arg *arg``”h]”j)�”}”(hjÂh]”hŒstruct proto_accept_arg *arg”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÂubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M§ hjÂubj')�”}”(hhh]”hï)�”}”(hŒarguments for accept”h]”hŒarguments for accept”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÂh´M§ hjÂubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÂubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÂh´M§ hj‹Áubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjoÁubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjAÂh]”hŒReturn”…”�”}”(hjCÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj?Âubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M© hjoÁubhï)�”}”(hŒ0 on success, errno otherwise”h]”hŒ0 on success, errno otherwise”…”�”}”(hjWÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M© hjoÁubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_shutdown (C function)”Œc.tipc_shutdown”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ0int tipc_shutdown (struct socket *sock, int how)”h]”j/)�”}”(hŒ/int tipc_shutdown(struct socket *sock, int how)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj†Âh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‚Âh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mó ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•Âh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‚Âh²hh³j”Âh´Mó ubjX)�”}”(hŒ tipc_shutdown”h]”j^)�”}”(hŒ tipc_shutdown”h]”hŒ tipc_shutdown”…”�”}”(hj§Âh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj£Âubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj‚Âh²hh³j”Âh´Mó ubj)�”}”(hŒ(struct socket *sock, int how)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÃÂh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj¿ÂubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐÂh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¿Âubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hjáÂh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÞÂubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jãÂŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj©ÂsbŒc.tipc_shutdown”†”asbuh1hhj¿ÂubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj¿Âubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj¿Âubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¿Âubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj»Âubj%)�”}”(hŒint how”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj5Ãh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj1ÃubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCÃh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj1Ãubj^)�”}”(hŒhow”h]”hŒhow”…”�”}”(hjQÃh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj1Ãubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj»Âubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj‚Âh²hh³j”Âh´Mó ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj~Âh²hh³j”Âh´Mó ubah}”(h]”jyÂah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j”Âh´Mó hj{Âh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒshutdown socket connection”h]”hŒshutdown socket connection”…”�”}”(hj{Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mó hjxÃh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj{Âh²hh³j”Âh´Mó ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j“Ãj­j“Ãj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒ÷**Parameters** ``struct socket *sock`` socket structure ``int how`` direction to close (must be SHUT_RDWR) **Description** Terminates connection (if necessary), then purges socket's receive queue. **Return** 0 on success, errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj�Ãh]”hŒ Parameters”…”�”}”(hjŸÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj›Ãubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M÷ hj—Ãubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hj¼Ãh]”hŒstruct socket *sock”…”�”}”(hj¾Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjºÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mô hj¶Ãubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hjÕÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÑÃh´Mô hjÒÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¶Ãubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÑÃh´Mô hj³Ãubj)�”}”(hŒ3``int how`` direction to close (must be SHUT_RDWR) ”h]”(j )�”}”(hŒ ``int how``”h]”j)�”}”(hjõÃh]”hŒint how”…”�”}”(hj÷Ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjóÃubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mõ hjïÃubj')�”}”(hhh]”hï)�”}”(hŒ&direction to close (must be SHUT_RDWR)”h]”hŒ&direction to close (must be SHUT_RDWR)”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j Äh´Mõ hj Äubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjïÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j Äh´Mõ hj³Ãubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj—Ãubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj0Äh]”hŒ Description”…”�”}”(hj2Äh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj.Äubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M÷ hj—Ãubhï)�”}”(hŒITerminates connection (if necessary), then purges socket's receive queue.”h]”hŒKTerminates connection (if necessary), then purges socket’s receive queue.”…”�”}”(hjFÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mö hj—Ãubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjWÄh]”hŒReturn”…”�”}”(hjYÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjUÄubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mø hj—Ãubhï)�”}”(hŒ0 on success, errno otherwise”h]”hŒ0 on success, errno otherwise”…”�”}”(hjmÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mù hj—Ãubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_setsockopt (C function)”Œc.tipc_setsockopt”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒZint tipc_setsockopt (struct socket *sock, int lvl, int opt, sockptr_t ov, unsigned int ol)”h]”j/)�”}”(hŒYint tipc_setsockopt(struct socket *sock, int lvl, int opt, sockptr_t ov, unsigned int ol)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjœÄh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj˜Äh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MD ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«Äh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj˜Äh²hh³jªÄh´MD ubjX)�”}”(hŒtipc_setsockopt”h]”j^)�”}”(hŒtipc_setsockopt”h]”hŒtipc_setsockopt”…”�”}”(hj½Äh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¹Äubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj˜Äh²hh³jªÄh´MD ubj)�”}”(hŒF(struct socket *sock, int lvl, int opt, sockptr_t ov, unsigned int ol)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÙÄh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÕÄubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæÄh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÕÄubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj÷Äh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjôÄubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jùÄŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj¿ÄsbŒc.tipc_setsockopt”†”asbuh1hhjÕÄubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÕÄubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj%Åh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÕÄubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hj2Åh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÕÄubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÄubj%)�”}”(hŒint lvl”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjKÅh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjGÅubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYÅh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjGÅubj^)�”}”(hŒlvl”h]”hŒlvl”…”�”}”(hjgÅh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjGÅubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÄubj%)�”}”(hŒint opt”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj€Åh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj|ÅubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽÅh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj|Åubj^)�”}”(hŒopt”h]”hŒopt”…”�”}”(hjœÅh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj|Åubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÄubj%)�”}”(hŒ sockptr_t ov”h]”(h)�”}”(hhh]”j^)�”}”(hŒ sockptr_t”h]”hŒ sockptr_t”…”�”}”(hj¸Åh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjµÅubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jºÅŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jÅŒc.tipc_setsockopt”†”asbuh1hhj±ÅubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖÅh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj±Åubj^)�”}”(hŒov”h]”hŒov”…”�”}”(hjäÅh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj±Åubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÄubj%)�”}”(hŒunsigned int ol”h]”(jG)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjýÅh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjùÅubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj Æh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjùÅubjG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjùÅubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj'Æh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjùÅubj^)�”}”(hŒol”h]”hŒol”…”�”}”(hj5Æh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjùÅubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÑÄubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj˜Äh²hh³jªÄh´MD ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj”Äh²hh³jªÄh´MD ubah}”(h]”j�Äah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jªÄh´MD hj‘Äh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒset socket option”h]”hŒset socket option”…”�”}”(hj_Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MD hj\Æh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj‘Äh²hh³jªÄh´MD ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jwÆj­jwÆj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hXp**Parameters** ``struct socket *sock`` socket structure ``int lvl`` option level ``int opt`` option identifier ``sockptr_t ov`` pointer to new option value ``unsigned int ol`` length of option value **Description** For stream sockets only, accepts and ignores all IPPROTO_TCP options (to ease compatibility). **Return** 0 on success, errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj�Æh]”hŒ Parameters”…”�”}”(hjƒÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MH hj{Æubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hj Æh]”hŒstruct socket *sock”…”�”}”(hj¢Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjžÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´ME hjšÆubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hj¹Æh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jµÆh´ME hj¶Æubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjšÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jµÆh´ME hj—Æubj)�”}”(hŒ``int lvl`` option level ”h]”(j )�”}”(hŒ ``int lvl``”h]”j)�”}”(hjÙÆh]”hŒint lvl”…”�”}”(hjÛÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjׯubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MF hjÓÆubj')�”}”(hhh]”hï)�”}”(hŒ option level”h]”hŒ option level”…”�”}”(hjòÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jîÆh´MF hjïÆubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÓÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jîÆh´MF hj—Æubj)�”}”(hŒ``int opt`` option identifier ”h]”(j )�”}”(hŒ ``int opt``”h]”j)�”}”(hjÇh]”hŒint opt”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MG hj Çubj')�”}”(hhh]”hï)�”}”(hŒoption identifier”h]”hŒoption identifier”…”�”}”(hj+Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j'Çh´MG hj(Çubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj Çubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j'Çh´MG hj—Æubj)�”}”(hŒ-``sockptr_t ov`` pointer to new option value ”h]”(j )�”}”(hŒ``sockptr_t ov``”h]”j)�”}”(hjKÇh]”hŒ sockptr_t ov”…”�”}”(hjMÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjIÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MH hjEÇubj')�”}”(hhh]”hï)�”}”(hŒpointer to new option value”h]”hŒpointer to new option value”…”�”}”(hjdÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j`Çh´MH hjaÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjEÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j`Çh´MH hj—Æubj)�”}”(hŒ+``unsigned int ol`` length of option value ”h]”(j )�”}”(hŒ``unsigned int ol``”h]”j)�”}”(hj„Çh]”hŒunsigned int ol”…”�”}”(hj†Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚Çubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MI hj~Çubj')�”}”(hhh]”hï)�”}”(hŒlength of option value”h]”hŒlength of option value”…”�”}”(hj�Çh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j™Çh´MI hjšÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj~Çubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j™Çh´MI hj—Æubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj{Æubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj¿Çh]”hŒ Description”…”�”}”(hjÁÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj½Çubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MK hj{Æubhï)�”}”(hŒ]For stream sockets only, accepts and ignores all IPPROTO_TCP options (to ease compatibility).”h]”hŒ]For stream sockets only, accepts and ignores all IPPROTO_TCP options (to ease compatibility).”…”�”}”(hjÕÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MJ hj{Æubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjæÇh]”hŒReturn”…”�”}”(hjèÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjäÇubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MM hj{Æubhï)�”}”(hŒ0 on success, errno otherwise”h]”hŒ0 on success, errno otherwise”…”�”}”(hjüÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MN hj{Æubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_getsockopt (C function)”Œc.tipc_getsockopt”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒLint tipc_getsockopt (struct socket *sock, int lvl, int opt, sockopt_t *sopt)”h]”j/)�”}”(hŒKint tipc_getsockopt(struct socket *sock, int lvl, int opt, sockopt_t *sopt)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj+Èh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj'Èh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¢ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:Èh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj'Èh²hh³j9Èh´M¢ ubjX)�”}”(hŒtipc_getsockopt”h]”j^)�”}”(hŒtipc_getsockopt”h]”hŒtipc_getsockopt”…”�”}”(hjLÈh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjHÈubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj'Èh²hh³j9Èh´M¢ ubj)�”}”(hŒ8(struct socket *sock, int lvl, int opt, sockopt_t *sopt)”h]”(j%)�”}”(hŒstruct socket *sock”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjhÈh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjdÈubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuÈh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjdÈubh)�”}”(hhh]”j^)�”}”(hŒsocket”h]”hŒsocket”…”�”}”(hj†Èh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjƒÈubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jˆÈŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjNÈsbŒc.tipc_getsockopt”†”asbuh1hhjdÈubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¦Èh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjdÈubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj´Èh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjdÈubj^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjÁÈh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjdÈubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj`Èubj%)�”}”(hŒint lvl”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÚÈh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÖÈubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjèÈh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÖÈubj^)�”}”(hŒlvl”h]”hŒlvl”…”�”}”(hjöÈh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÖÈubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj`Èubj%)�”}”(hŒint opt”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj ÉubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj Éubj^)�”}”(hŒopt”h]”hŒopt”…”�”}”(hj+Éh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj Éubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj`Èubj%)�”}”(hŒsockopt_t *sopt”h]”(h)�”}”(hhh]”j^)�”}”(hŒ sockopt_t”h]”hŒ sockopt_t”…”�”}”(hjGÉh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjDÉubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jIÉŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j¢ÈŒc.tipc_getsockopt”†”asbuh1hhj@ÉubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeÉh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj@Éubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjsÉh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj@Éubj^)�”}”(hŒsopt”h]”hŒsopt”…”�”}”(hj€Éh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj@Éubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj`Èubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj'Èh²hh³j9Èh´M¢ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj#Èh²hh³j9Èh´M¢ ubah}”(h]”jÈah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j9Èh´M¢ hj Èh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒget socket option”h]”hŒget socket option”…”�”}”(hjªÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¢ hj§Éh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj Èh²hh³j9Èh´M¢ ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÂÉj­jÂÉj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hXt**Parameters** ``struct socket *sock`` socket structure ``int lvl`` option level ``int opt`` option identifier ``sockopt_t *sopt`` socket option container (input buffer length, output value/length) **Description** For stream sockets only, returns 0 length result for all IPPROTO_TCP options (to ease compatibility). **Return** 0 on success, errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÌÉh]”hŒ Parameters”…”�”}”(hjÎÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÊÉubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¦ hjÆÉubj)�”}”(hhh]”(j)�”}”(hŒ)``struct socket *sock`` socket structure ”h]”(j )�”}”(hŒ``struct socket *sock``”h]”j)�”}”(hjëÉh]”hŒstruct socket *sock”…”�”}”(hjíÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjéÉubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M£ hjåÉubj')�”}”(hhh]”hï)�”}”(hŒsocket structure”h]”hŒsocket structure”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÊh´M£ hjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjåÉubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÊh´M£ hjâÉubj)�”}”(hŒ``int lvl`` option level ”h]”(j )�”}”(hŒ ``int lvl``”h]”j)�”}”(hj$Êh]”hŒint lvl”…”�”}”(hj&Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj"Êubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¤ hjÊubj')�”}”(hhh]”hï)�”}”(hŒ option level”h]”hŒ option level”…”�”}”(hj=Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j9Êh´M¤ hj:Êubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j9Êh´M¤ hjâÉubj)�”}”(hŒ``int opt`` option identifier ”h]”(j )�”}”(hŒ ``int opt``”h]”j)�”}”(hj]Êh]”hŒint opt”…”�”}”(hj_Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj[Êubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¥ hjWÊubj')�”}”(hhh]”hï)�”}”(hŒoption identifier”h]”hŒoption identifier”…”�”}”(hjvÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jrÊh´M¥ hjsÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjWÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jrÊh´M¥ hjâÉubj)�”}”(hŒW``sockopt_t *sopt`` socket option container (input buffer length, output value/length) ”h]”(j )�”}”(hŒ``sockopt_t *sopt``”h]”j)�”}”(hj–Êh]”hŒsockopt_t *sopt”…”�”}”(hj˜Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj”Êubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¦ hj�Êubj')�”}”(hhh]”hï)�”}”(hŒBsocket option container (input buffer length, output value/length)”h]”hŒBsocket option container (input buffer length, output value/length)”…”�”}”(hj¯Êh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j«Êh´M¦ hj¬Êubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj�Êubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j«Êh´M¦ hjâÉubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÆÉubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjÑÊh]”hŒ Description”…”�”}”(hjÓÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÏÊubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M¨ hjÆÉubhï)�”}”(hŒeFor stream sockets only, returns 0 length result for all IPPROTO_TCP options (to ease compatibility).”h]”hŒeFor stream sockets only, returns 0 length result for all IPPROTO_TCP options (to ease compatibility).”…”�”}”(hjçÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M§ hjÆÉubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjøÊh]”hŒReturn”…”�”}”(hjúÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjöÊubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mª hjÆÉubhï)�”}”(hŒ0 on success, errno otherwise”h]”hŒ0 on success, errno otherwise”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M« hjÆÉubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_socket_init (C function)”Œc.tipc_socket_init”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒint tipc_socket_init (void)”h]”j/)�”}”(hŒint tipc_socket_init(void)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hj=Ëh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj9Ëh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Ms ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLËh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj9Ëh²hh³jKËh´Ms ubjX)�”}”(hŒtipc_socket_init”h]”j^)�”}”(hŒtipc_socket_init”h]”hŒtipc_socket_init”…”�”}”(hj^Ëh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjZËubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhj9Ëh²hh³jKËh´Ms ubj)�”}”(hŒ(void)”h]”j%)�”}”(hŒvoid”h]”jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjzËh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjvËubah}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjrËubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhj9Ëh²hh³jKËh´Ms ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj5Ëh²hh³jKËh´Ms ubah}”(h]”j0Ëah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jKËh´Ms hj2Ëh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ initialize TIPC socket interface”h]”hŒ initialize TIPC socket interface”…”�”}”(hj¤Ëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Ms hj¡Ëh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj2Ëh²hh³jKËh´Ms ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j¼Ëj­j¼Ëj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒR**Parameters** ``void`` no arguments **Return** 0 on success, errno otherwise”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÆËh]”hŒ Parameters”…”�”}”(hjÈËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÄËubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mw hjÀËubj)�”}”(hhh]”j)�”}”(hŒ``void`` no arguments ”h]”(j )�”}”(hŒ``void``”h]”j)�”}”(hjåËh]”hŒvoid”…”�”}”(hjçËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjãËubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KhjßËubj')�”}”(hhh]”hï)�”}”(hŒ no arguments”h]”hŒ no arguments”…”�”}”(hjþËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³júËh´KhjûËubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjßËubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³júËh´KhjÜËubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÀËubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj Ìh]”hŒReturn”…”�”}”(hj"Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´KhjÀËubhï)�”}”(hŒ0 on success, errno otherwise”h]”hŒ0 on success, errno otherwise”…”�”}”(hj6Ìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mu hjÀËubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_socket_stop (C function)”Œc.tipc_socket_stop”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒvoid tipc_socket_stop (void)”h]”j/)�”}”(hŒvoid tipc_socket_stop(void)”h]”(jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjeÌh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjaÌh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MŒ ubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjtÌh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjaÌh²hh³jsÌh´MŒ ubjX)�”}”(hŒtipc_socket_stop”h]”j^)�”}”(hŒtipc_socket_stop”h]”hŒtipc_socket_stop”…”�”}”(hj†Ìh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‚Ìubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjaÌh²hh³jsÌh´MŒ ubj)�”}”(hŒ(void)”h]”j%)�”}”(hŒvoid”h]”jG)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¢Ìh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjžÌubah}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjšÌubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjaÌh²hh³jsÌh´MŒ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj]Ìh²hh³jsÌh´MŒ ubah}”(h]”jXÌah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jsÌh´MŒ hjZÌh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒstop TIPC socket interface”h]”hŒstop TIPC socket interface”…”�”}”(hjÌÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MŒ hjÉÌh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjZÌh²hh³jsÌh´MŒ ubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jäÌj­jäÌj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒ'**Parameters** ``void`` no arguments”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjîÌh]”hŒ Parameters”…”�”}”(hjðÌh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjìÌubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M� hjèÌubj)�”}”(hhh]”j)�”}”(hŒ``void`` no arguments”h]”(j )�”}”(hŒ``void``”h]”j)�”}”(hj Íh]”hŒvoid”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Íubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´M’ hjÍubj')�”}”(hhh]”hï)�”}”(hŒ no arguments”h]”hŒ no arguments”…”�”}”(hj&Íh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Khj#Íubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j"Íh´M’ hjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjèÌubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_sk_filtering (C function)”Œc.tipc_sk_filtering”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ(bool tipc_sk_filtering (struct sock *sk)”h]”j/)�”}”(hŒ'bool tipc_sk_filtering(struct sock *sk)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjgÍh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjcÍh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuÍh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjcÍh²hh³jtÍh´MubjX)�”}”(hŒtipc_sk_filtering”h]”j^)�”}”(hŒtipc_sk_filtering”h]”hŒtipc_sk_filtering”…”�”}”(hj‡Íh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjƒÍubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjcÍh²hh³jtÍh´Mubj)�”}”(hŒ(struct sock *sk)”h]”j%)�”}”(hŒstruct sock *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj£Íh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjŸÍubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj°Íh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŸÍubh)�”}”(hhh]”j^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjÁÍh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¾Íubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÃÍŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj‰ÍsbŒc.tipc_sk_filtering”†”asbuh1hhjŸÍubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjáÍh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjŸÍubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjïÍh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjŸÍubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hjüÍh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjŸÍubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj›Íubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjcÍh²hh³jtÍh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj_Íh²hh³jtÍh´Mubah}”(h]”jZÍah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jtÍh´Mhj\Íh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ"check if a socket should be traced”h]”hŒ"check if a socket should be traced”…”�”}”(hj&Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mhj#Îh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj\Íh²hh³jtÍh´Mubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j>Îj­j>Îj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hXT**Parameters** ``struct sock *sk`` the socket to be examined **Description** **sysctl_tipc_sk_filter** is used as the socket tuple for filtering: (portid, sock type, name type, name lower, name upper) **Return** true if the socket meets the socket tuple data (value 0 = 'any') or when there is no tuple set (all = 0), otherwise false”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjHÎh]”hŒ Parameters”…”�”}”(hjJÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjFÎubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MhjBÎubj)�”}”(hhh]”j)�”}”(hŒ.``struct sock *sk`` the socket to be examined ”h]”(j )�”}”(hŒ``struct sock *sk``”h]”j)�”}”(hjgÎh]”hŒstruct sock *sk”…”�”}”(hjiÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjeÎubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MhjaÎubj')�”}”(hhh]”hï)�”}”(hŒthe socket to be examined”h]”hŒthe socket to be examined”…”�”}”(hj€Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j|Îh´Mhj}Îubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjaÎubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j|Îh´Mhj^Îubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjBÎubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hj¢Îh]”hŒ Description”…”�”}”(hj¤Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj Îubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MhjBÎubhï)�”}”(hŒ{**sysctl_tipc_sk_filter** is used as the socket tuple for filtering: (portid, sock type, name type, name lower, name upper)”h]”(j¼)�”}”(hŒ**sysctl_tipc_sk_filter**”h]”hŒsysctl_tipc_sk_filter”…”�”}”(hj¼Îh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¸ÎubhŒb is used as the socket tuple for filtering: (portid, sock type, name type, name lower, name upper)”…”�”}”(hj¸Îh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MhjBÎubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj×Îh]”hŒReturn”…”�”}”(hjÙÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÕÎubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MhjBÎubhï)�”}”(hŒytrue if the socket meets the socket tuple data (value 0 = 'any') or when there is no tuple set (all = 0), otherwise false”h]”hŒ}true if the socket meets the socket tuple data (value 0 = ‘any’) or when there is no tuple set (all = 0), otherwise false”…”�”}”(hjíÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MhjBÎubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_sk_overlimit1 (C function)”Œc.tipc_sk_overlimit1”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ>bool tipc_sk_overlimit1 (struct sock *sk, struct sk_buff *skb)”h]”j/)�”}”(hŒ=bool tipc_sk_overlimit1(struct sock *sk, struct sk_buff *skb)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÏh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MBubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj*Ïh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÏh²hh³j)Ïh´MBubjX)�”}”(hŒtipc_sk_overlimit1”h]”j^)�”}”(hŒtipc_sk_overlimit1”h]”hŒtipc_sk_overlimit1”…”�”}”(hj<Ïh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj8Ïubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÏh²hh³j)Ïh´MBubj)�”}”(hŒ&(struct sock *sk, struct sk_buff *skb)”h]”(j%)�”}”(hŒstruct sock *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjXÏh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjTÏubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjeÏh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjTÏubh)�”}”(hhh]”j^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjvÏh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjsÏubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jxÏŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj>ÏsbŒc.tipc_sk_overlimit1”†”asbuh1hhjTÏubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–Ïh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjTÏubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj¤Ïh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjTÏubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hj±Ïh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjTÏubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjPÏubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÊÏh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÆÏubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×Ïh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÆÏubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjèÏh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjåÏubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jêÏŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j’ÏŒc.tipc_sk_overlimit1”†”asbuh1hhjÆÏubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÆÏubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÆÏubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hj!Ðh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÆÏubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjPÏubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÏh²hh³j)Ïh´MBubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjÏh²hh³j)Ïh´MBubah}”(h]”jÏah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j)Ïh´MBhjÏh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒbcheck if socket rx queue is about to be overloaded, both the rcv and backlog queues are considered”h]”hŒbcheck if socket rx queue is about to be overloaded, both the rcv and backlog queues are considered”…”�”}”(hjKÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MBhjHÐh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÏh²hh³j)Ïh´MBubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jcÐj­jcÐj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒ»**Parameters** ``struct sock *sk`` tipc sk to be checked ``struct sk_buff *skb`` tipc msg to be checked **Return** true if the socket rx queue allocation is > 90%, otherwise false”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjmÐh]”hŒ Parameters”…”�”}”(hjoÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjkÐubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MFhjgÐubj)�”}”(hhh]”(j)�”}”(hŒ*``struct sock *sk`` tipc sk to be checked ”h]”(j )�”}”(hŒ``struct sock *sk``”h]”j)�”}”(hjŒÐh]”hŒstruct sock *sk”…”�”}”(hjŽÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠÐubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MDhj†Ðubj')�”}”(hhh]”hï)�”}”(hŒtipc sk to be checked”h]”hŒtipc sk to be checked”…”�”}”(hj¥Ðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¡Ðh´MDhj¢Ðubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj†Ðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¡Ðh´MDhjƒÐubj)�”}”(hŒ/``struct sk_buff *skb`` tipc msg to be checked ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjÅÐh]”hŒstruct sk_buff *skb”…”�”}”(hjÇÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÃÐubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MEhj¿Ðubj')�”}”(hhh]”hï)�”}”(hŒtipc msg to be checked”h]”hŒtipc msg to be checked”…”�”}”(hjÞÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÚÐh´MEhjÛÐubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¿Ðubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÚÐh´MEhjƒÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjgÐubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hjÑh]”hŒReturn”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjþÐubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MGhjgÐubhï)�”}”(hŒ@true if the socket rx queue allocation is > 90%, otherwise false”h]”hŒ@true if the socket rx queue allocation is > 90%, otherwise false”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MGhjgÐubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_sk_overlimit2 (C function)”Œc.tipc_sk_overlimit2”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ>bool tipc_sk_overlimit2 (struct sock *sk, struct sk_buff *skb)”h]”j/)�”}”(hŒ=bool tipc_sk_overlimit2(struct sock *sk, struct sk_buff *skb)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjEÑh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjAÑh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MTubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjSÑh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjAÑh²hh³jRÑh´MTubjX)�”}”(hŒtipc_sk_overlimit2”h]”j^)�”}”(hŒtipc_sk_overlimit2”h]”hŒtipc_sk_overlimit2”…”�”}”(hjeÑh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjaÑubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjAÑh²hh³jRÑh´MTubj)�”}”(hŒ&(struct sock *sk, struct sk_buff *skb)”h]”(j%)�”}”(hŒstruct sock *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj�Ñh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj}ÑubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjŽÑh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj}Ñubh)�”}”(hhh]”j^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjŸÑh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjœÑubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j¡ÑŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjgÑsbŒc.tipc_sk_overlimit2”†”asbuh1hhj}ÑubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿Ñh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj}Ñubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjÍÑh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj}Ñubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hjÚÑh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj}Ñubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjyÑubj%)�”}”(hŒstruct sk_buff *skb”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjóÑh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjïÑubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjïÑubh)�”}”(hhh]”j^)�”}”(hŒsk_buff”h]”hŒsk_buff”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÒubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jÒŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”j»ÑŒc.tipc_sk_overlimit2”†”asbuh1hhjïÑubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/Òh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjïÑubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj=Òh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjïÑubj^)�”}”(hŒskb”h]”hŒskb”…”�”}”(hjJÒh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjïÑubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjyÑubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjAÑh²hh³jRÑh´MTubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj=Ñh²hh³jRÑh´MTubah}”(h]”j8Ñah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jRÑh´MThj:Ñh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒTcheck if socket rx queue is about to be overloaded, only the rcv queue is considered”h]”hŒTcheck if socket rx queue is about to be overloaded, only the rcv queue is considered”…”�”}”(hjtÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MThjqÒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hj:Ñh²hh³jRÑh´MTubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jŒÒj­jŒÒj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hŒ»**Parameters** ``struct sock *sk`` tipc sk to be checked ``struct sk_buff *skb`` tipc msg to be checked **Return** true if the socket rx queue allocation is > 90%, otherwise false”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj–Òh]”hŒ Parameters”…”�”}”(hj˜Òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj”Òubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MXhj�Òubj)�”}”(hhh]”(j)�”}”(hŒ*``struct sock *sk`` tipc sk to be checked ”h]”(j )�”}”(hŒ``struct sock *sk``”h]”j)�”}”(hjµÒh]”hŒstruct sock *sk”…”�”}”(hj·Òh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj³Òubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MVhj¯Òubj')�”}”(hhh]”hï)�”}”(hŒtipc sk to be checked”h]”hŒtipc sk to be checked”…”�”}”(hjÎÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÊÒh´MVhjËÒubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¯Òubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÊÒh´MVhj¬Òubj)�”}”(hŒ/``struct sk_buff *skb`` tipc msg to be checked ”h]”(j )�”}”(hŒ``struct sk_buff *skb``”h]”j)�”}”(hjîÒh]”hŒstruct sk_buff *skb”…”�”}”(hjðÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjìÒubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MWhjèÒubj')�”}”(hhh]”hï)�”}”(hŒtipc msg to be checked”h]”hŒtipc msg to be checked”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÓh´MWhjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjèÒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÓh´MWhj¬Òubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj�Òubhï)�”}”(hŒ **Return**”h]”j¼)�”}”(hj)Óh]”hŒReturn”…”�”}”(hj+Óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj'Óubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MYhj�Òubhï)�”}”(hŒ@true if the socket rx queue allocation is > 90%, otherwise false”h]”hŒ@true if the socket rx queue allocation is > 90%, otherwise false”…”�”}”(hj?Óh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MYhj�Òubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_sk_dump (C function)”Œc.tipc_sk_dump”hNt”auh1jhj_h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ:int tipc_sk_dump (struct sock *sk, u16 dqueues, char *buf)”h]”j/)�”}”(hŒ9int tipc_sk_dump(struct sock *sk, u16 dqueues, char *buf)”h]”(jG)�”}”(hŒint”h]”hŒint”…”�”}”(hjnÓh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjjÓh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MeubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}Óh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjjÓh²hh³j|Óh´MeubjX)�”}”(hŒ tipc_sk_dump”h]”j^)�”}”(hŒ tipc_sk_dump”h]”hŒ tipc_sk_dump”…”�”}”(hj�Óh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‹Óubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjjÓh²hh³j|Óh´Meubj)�”}”(hŒ)(struct sock *sk, u16 dqueues, char *buf)”h]”(j%)�”}”(hŒstruct sock *sk”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj«Óh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj§ÓubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸Óh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj§Óubh)�”}”(hhh]”j^)�”}”(hŒsock”h]”hŒsock”…”�”}”(hjÉÓh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÆÓubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”jËÓŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕj‘ÓsbŒc.tipc_sk_dump”†”asbuh1hhj§ÓubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéÓh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj§Óubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj÷Óh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj§Óubj^)�”}”(hŒsk”h]”hŒsk”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj§Óubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj£Óubj%)�”}”(hŒ u16 dqueues”h]”(h)�”}”(hhh]”j^)�”}”(hŒu16”h]”hŒu16”…”�”}”(hj Ôh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÔubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j"ÔŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jåÓŒc.tipc_sk_dump”†”asbuh1hhjÔubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj>Ôh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÔubj^)�”}”(hŒdqueues”h]”hŒdqueues”…”�”}”(hjLÔh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÔubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj£Óubj%)�”}”(hŒ char *buf”h]”(jG)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjeÔh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjaÔubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsÔh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjaÔubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj�Ôh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjaÔubj^)�”}”(hŒbuf”h]”hŒbuf”…”�”}”(hjŽÔh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjaÔubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hj£Óubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjjÓh²hh³j|Óh´Meubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjfÓh²hh³j|Óh´Meubah}”(h]”jaÓah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j|Óh´MehjcÓh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒdump TIPC socket”h]”hŒdump TIPC socket”…”�”}”(hj¸Ôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MehjµÔh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjcÓh²hh³j|Óh´Meubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬jÐÔj­jÐÔj®‰j¯‰j°‰uh1j#h²hhj_h³Nh´Nubj²)�”}”(hX§**Parameters** ``struct sock *sk`` tipc sk to be dumped ``u16 dqueues`` bitmask to decide if any socket queue to be dumped? - TIPC_DUMP_NONE: don't dump socket queues - TIPC_DUMP_SK_SNDQ: dump socket send queue - TIPC_DUMP_SK_RCVQ: dump socket rcv queue - TIPC_DUMP_SK_BKLGQ: dump socket backlog queue - TIPC_DUMP_ALL: dump all the socket queues above ``char *buf`` returned buffer of dump data in format”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjÚÔh]”hŒ Parameters”…”�”}”(hjÜÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjØÔubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MihjÔÔubj)�”}”(hhh]”(j)�”}”(hŒ)``struct sock *sk`` tipc sk to be dumped ”h]”(j )�”}”(hŒ``struct sock *sk``”h]”j)�”}”(hjùÔh]”hŒstruct sock *sk”…”�”}”(hjûÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷Ôubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MfhjóÔubj')�”}”(hhh]”hï)�”}”(hŒtipc sk to be dumped”h]”hŒtipc sk to be dumped”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÕh´MfhjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjóÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÕh´MfhjðÔubj)�”}”(hX(``u16 dqueues`` bitmask to decide if any socket queue to be dumped? - TIPC_DUMP_NONE: don't dump socket queues - TIPC_DUMP_SK_SNDQ: dump socket send queue - TIPC_DUMP_SK_RCVQ: dump socket rcv queue - TIPC_DUMP_SK_BKLGQ: dump socket backlog queue - TIPC_DUMP_ALL: dump all the socket queues above ”h]”(j )�”}”(hŒ``u16 dqueues``”h]”j)�”}”(hj2Õh]”hŒ u16 dqueues”…”�”}”(hj4Õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0Õubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mlhj,Õubj')�”}”(hhh]”hï)�”}”(hXbitmask to decide if any socket queue to be dumped? - TIPC_DUMP_NONE: don't dump socket queues - TIPC_DUMP_SK_SNDQ: dump socket send queue - TIPC_DUMP_SK_RCVQ: dump socket rcv queue - TIPC_DUMP_SK_BKLGQ: dump socket backlog queue - TIPC_DUMP_ALL: dump all the socket queues above”h]”hXbitmask to decide if any socket queue to be dumped? - TIPC_DUMP_NONE: don’t dump socket queues - TIPC_DUMP_SK_SNDQ: dump socket send queue - TIPC_DUMP_SK_RCVQ: dump socket rcv queue - TIPC_DUMP_SK_BKLGQ: dump socket backlog queue - TIPC_DUMP_ALL: dump all the socket queues above”…”�”}”(hjKÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MghjHÕubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj,Õubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jGÕh´MlhjðÔubj)�”}”(hŒ4``char *buf`` returned buffer of dump data in format”h]”(j )�”}”(hŒ ``char *buf``”h]”j)�”}”(hjlÕh]”hŒ char *buf”…”�”}”(hjnÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´MnhjfÕubj')�”}”(hhh]”hï)�”}”(hŒ&returned buffer of dump data in format”h]”hŒ&returned buffer of dump data in format”…”�”}”(hj…Õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:196: ./net/tipc/socket.c”h´Mmhj‚Õubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjfÕubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�Õh´MnhjðÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjÔÔubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj_h²hh³Nh´Nubeh}”(h]”Œtipc-socket-interfaces”ah ]”h"]”Œtipc socket interfaces”ah$]”h&]”uh1hÈhjâh²hh³hÇh´KÂubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ TIPC Network Topology Interfaces”h]”hŒ TIPC Network Topology Interfaces”…”�”}”(hj¸Õh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjµÕh²hh³hÇh´KÈubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ#tipc_sub_check_overlap (C function)”Œc.tipc_sub_check_overlap”hNt”auh1jhjµÕh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒebool tipc_sub_check_overlap (struct tipc_service_range *subscribed, struct tipc_service_range *found)”h]”j/)�”}”(hŒdbool tipc_sub_check_overlap(struct tipc_service_range *subscribed, struct tipc_service_range *found)”h]”(jG)�”}”(hjhh]”hŒbool”…”�”}”(hjßÕh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÛÕh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:202: ./net/tipc/subscr.c”h´KCubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíÕh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÛÕh²hh³jìÕh´KCubjX)�”}”(hŒtipc_sub_check_overlap”h]”j^)�”}”(hŒtipc_sub_check_overlap”h]”hŒtipc_sub_check_overlap”…”�”}”(hjÿÕh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjûÕubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjÛÕh²hh³jìÕh´KCubj)�”}”(hŒI(struct tipc_service_range *subscribed, struct tipc_service_range *found)”h]”(j%)�”}”(hŒ%struct tipc_service_range *subscribed”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjÖubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj(Öh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÖubh)�”}”(hhh]”j^)�”}”(hŒtipc_service_range”h]”hŒtipc_service_range”…”�”}”(hj9Öh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj6Öubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j;ÖŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jâ)�”}”jÕjÖsbŒc.tipc_sub_check_overlap”†”asbuh1hhjÖubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjYÖh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjÖubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hjgÖh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjÖubj^)�”}”(hŒ subscribed”h]”hŒ subscribed”…”�”}”(hjtÖh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÖubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÖubj%)�”}”(hŒ struct tipc_service_range *found”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj�Öh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hj‰ÖubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjšÖh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‰Öubh)�”}”(hhh]”j^)�”}”(hŒtipc_service_range”h]”hŒtipc_service_range”…”�”}”(hj«Öh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj¨Öubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j¦Œreftype”jÕŒ reftarget”j­ÖŒmodname”NŒ classname”NjÙjÜ)�”}”jß]”jUÖŒc.tipc_sub_check_overlap”†”asbuh1hhj‰ÖubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉÖh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhj‰Öubj÷)�”}”(hjúh]”hŒ*”…”�”}”(hj×Öh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj‰Öubj^)�”}”(hŒfound”h]”hŒfound”…”�”}”(hjäÖh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj‰Öubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j$hjÖubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jhjÛÕh²hh³jìÕh´KCubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hj×Õh²hh³jìÕh´KCubah}”(h]”jÒÕah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jìÕh´KChjÔÕh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒ3test for subscription overlap with the given values”h]”hŒ3test for subscription overlap with the given values”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:202: ./net/tipc/subscr.c”h´KChj ×h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjÔÕh²hh³jìÕh´KCubeh}”(h]”h ]”(j¦Œfunction”eh"]”h$]”h&]”j«j¦j¬j&×j­j&×j®‰j¯‰j°‰uh1j#h²hhjµÕh³Nh´Nubj²)�”}”(hŒõ**Parameters** ``struct tipc_service_range *subscribed`` the service range subscribed for ``struct tipc_service_range *found`` the service range we are checking for match **Description** Returns true if there is overlap, otherwise false.”h]”(hï)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj0×h]”hŒ Parameters”…”�”}”(hj2×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj.×ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:202: ./net/tipc/subscr.c”h´KGhj*×ubj)�”}”(hhh]”(j)�”}”(hŒK``struct tipc_service_range *subscribed`` the service range subscribed for ”h]”(j )�”}”(hŒ)``struct tipc_service_range *subscribed``”h]”j)�”}”(hjO×h]”hŒ%struct tipc_service_range *subscribed”…”�”}”(hjQ×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjM×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:202: ./net/tipc/subscr.c”h´KDhjI×ubj')�”}”(hhh]”hï)�”}”(hŒ the service range subscribed for”h]”hŒ the service range subscribed for”…”�”}”(hjh×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jd×h´KDhje×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjI×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jd×h´KDhjF×ubj)�”}”(hŒQ``struct tipc_service_range *found`` the service range we are checking for match ”h]”(j )�”}”(hŒ$``struct tipc_service_range *found``”h]”j)�”}”(hjˆ×h]”hŒ struct tipc_service_range *found”…”�”}”(hjŠ×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj†×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:202: ./net/tipc/subscr.c”h´KEhj‚×ubj')�”}”(hhh]”hï)�”}”(hŒ+the service range we are checking for match”h]”hŒ+the service range we are checking for match”…”�”}”(hj¡×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j�×h´KEhjž×ubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj‚×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�×h´KEhjF×ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhj*×ubhï)�”}”(hŒ**Description**”h]”j¼)�”}”(hjÃ×h]”hŒ Description”…”�”}”(hjÅ×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÁ×ubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:202: ./net/tipc/subscr.c”h´KGhj*×ubhï)�”}”(hŒ2Returns true if there is overlap, otherwise false.”h]”hŒ2Returns true if there is overlap, otherwise false.”…”�”}”(hjÙ×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:202: ./net/tipc/subscr.c”h´KFhj*×ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hjµÕh²hh³Nh´Nubeh}”(h]”Œ tipc-network-topology-interfaces”ah ]”h"]”Œ tipc network topology interfaces”ah$]”h&]”uh1hÈhjâh²hh³hÇh´KÈubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTIPC Server Interfaces”h]”hŒTIPC Server Interfaces”…”�”}”(hjú×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj÷×h²hh³hÇh´KÎubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_topsrv (C struct)”Œ c.tipc_topsrv”hNt”auh1jhj÷×h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ tipc_topsrv”h]”j/)�”}”(hŒstruct tipc_topsrv”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hj!Øh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjØh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/Øh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjØh²hh³j.Øh´KubjX)�”}”(hŒ tipc_topsrv”h]”j^)�”}”(hjØh]”hŒ tipc_topsrv”…”�”}”(hjAØh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hj=Øubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjØh²hh³j.Øh´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjØh²hh³j.Øh´Kubah}”(h]”jØah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³j.Øh´KhjØh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒTIPC server structure”h]”hŒTIPC server structure”…”�”}”(hjcØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”•vŒh´K8hj`Øh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjØh²hh³j.Øh´Kubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬j{Øj­j{Øj®‰j¯‰j°‰uh1j#h²hhj÷×h³Nh´Nubj²)�”}”(hXº**Definition**:: struct tipc_topsrv { struct idr conn_idr; spinlock_t idr_lock; int idr_in_use; struct net *net; struct work_struct awork; struct workqueue_struct *rcv_wq; struct workqueue_struct *send_wq; struct socket *listener; char name[TIPC_SERVER_NAME_LEN]; }; **Members** ``conn_idr`` identifier set of connection ``idr_lock`` protect the connection identifier set and listener ``idr_in_use`` amount of allocated identifier entry ``net`` network namespace instance ``awork`` accept work item ``rcv_wq`` receive workqueue ``send_wq`` send workqueue ``listener`` topsrv listener socket ``name`` server name”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj‡Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjƒØubhŒ:”…”�”}”(hjƒØh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KhjØubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hj±Øh]”hŒMembers”…”�”}”(hj³Øh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¯Øubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KJhjØubj)�”}”(hhh]”(j)�”}”(hŒ*``conn_idr`` identifier set of connection ”h]”(j )�”}”(hŒ ``conn_idr``”h]”j)�”}”(hjÐØh]”hŒconn_idr”…”�”}”(hjÒØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÎØubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´K:hjÊØubj')�”}”(hhh]”hï)�”}”(hŒidentifier set of connection”h]”hŒidentifier set of connection”…”�”}”(hjéØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jåØh´K:hjæØubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÊØubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jåØh´K:hjÇØubj)�”}”(hŒ@``idr_lock`` protect the connection identifier set and listener ”h]”(j )�”}”(hŒ ``idr_lock``”h]”j)�”}”(hj Ùh]”hŒidr_lock”…”�”}”(hj Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´K;hjÙubj')�”}”(hhh]”hï)�”}”(hŒ2protect the connection identifier set and listener”h]”hŒ2protect the connection identifier set and listener”…”�”}”(hj"Ùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÙh´K;hjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÙh´K;hjÇØubj)�”}”(hŒ4``idr_in_use`` amount of allocated identifier entry ”h]”(j )�”}”(hŒ``idr_in_use``”h]”j)�”}”(hjBÙh]”hŒ idr_in_use”…”�”}”(hjDÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj@Ùubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´Khj®Ùubj')�”}”(hhh]”hï)�”}”(hŒaccept work item”h]”hŒaccept work item”…”�”}”(hjÍÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÉÙh´K>hjÊÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj®Ùubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÉÙh´K>hjÇØubj)�”}”(hŒ``rcv_wq`` receive workqueue ”h]”(j )�”}”(hŒ ``rcv_wq``”h]”j)�”}”(hjíÙh]”hŒrcv_wq”…”�”}”(hjïÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjëÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´K?hjçÙubj')�”}”(hhh]”hï)�”}”(hŒreceive workqueue”h]”hŒreceive workqueue”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÚh´K?hjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjçÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÚh´K?hjÇØubj)�”}”(hŒ``send_wq`` send workqueue ”h]”(j )�”}”(hŒ ``send_wq``”h]”j)�”}”(hj&Úh]”hŒsend_wq”…”�”}”(hj(Úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj$Úubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´K@hj Úubj')�”}”(hhh]”hï)�”}”(hŒsend workqueue”h]”hŒsend workqueue”…”�”}”(hj?Úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j;Úh´K@hj<Úubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj Úubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j;Úh´K@hjÇØubj)�”}”(hŒ$``listener`` topsrv listener socket ”h]”(j )�”}”(hŒ ``listener``”h]”j)�”}”(hj_Úh]”hŒlistener”…”�”}”(hjaÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj]Úubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KAhjYÚubj')�”}”(hhh]”hï)�”}”(hŒtopsrv listener socket”h]”hŒtopsrv listener socket”…”�”}”(hjxÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jtÚh´KAhjuÚubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjYÚubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jtÚh´KAhjÇØubj)�”}”(hŒ``name`` server name”h]”(j )�”}”(hŒ``name``”h]”j)�”}”(hj˜Úh]”hŒname”…”�”}”(hjšÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj–Úubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KAhj’Úubj')�”}”(hhh]”hï)�”}”(hŒ server name”h]”hŒ server name”…”�”}”(hj±Úh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KBhj®Úubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj’Úubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j­Úh´KAhjÇØubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjØubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj÷×h²hh³Nh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_conn (C struct)”Œ c.tipc_conn”hNt”auh1jhj÷×h²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ tipc_conn”h]”j/)�”}”(hŒstruct tipc_conn”h]”(j5)�”}”(hj8h]”hŒstruct”…”�”}”(hjòÚh²hh³Nh´Nubah}”(h]”h ]”jAah"]”h$]”h&]”uh1j4hjîÚh²hh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KHubjG)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jSah"]”h$]”h&]”uh1jFhjîÚh²hh³jÿÚh´KHubjX)�”}”(hŒ tipc_conn”h]”j^)�”}”(hjìÚh]”hŒ tipc_conn”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”jiah"]”h$]”h&]”uh1j]hjÛubah}”(h]”h ]”(jpjqeh"]”h$]”h&]”hÅhÆuh1jWhjîÚh²hh³jÿÚh´KHubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj{ˆuh1j.j|j}hjêÚh²hh³jÿÚh´KHubah}”(h]”jåÚah ]”(j�j‚eh"]”h$]”h&]”j†ˆj‡)jˆhuh1j(h³jÿÚh´KHhjçÚh²hubjŠ)�”}”(hhh]”hï)�”}”(hŒTIPC connection structure”h]”hŒTIPC connection structure”…”�”}”(hj4Ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KPhj1Ûh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hjçÚh²hh³jÿÚh´KHubeh}”(h]”h ]”(j¦Œstruct”eh"]”h$]”h&]”j«j¦j¬jLÛj­jLÛj®‰j¯‰j°‰uh1j#h²hhj÷×h³Nh´Nubj²)�”}”(hXi**Definition**:: struct tipc_conn { struct kref kref; int conid; struct socket *sock; unsigned long flags; struct tipc_topsrv *server; struct list_head sub_list; spinlock_t sub_lock; struct work_struct rwork; struct list_head outqueue; spinlock_t outqueue_lock; struct work_struct swork; }; **Members** ``kref`` reference counter to connection object ``conid`` connection identifier ``sock`` socket handler associated with connection ``flags`` indicates connection state ``server`` pointer to connected server ``sub_list`` list to all pertaining subscriptions ``sub_lock`` lock protecting the subscription list ``rwork`` receive work item ``outqueue`` pointer to first outbound message in queue ``outqueue_lock`` control access to the outqueue ``swork`` send work item”h]”(hï)�”}”(hŒ**Definition**::”h]”(j¼)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjXÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjTÛubhŒ:”…”�”}”(hjTÛh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KThjPÛubj×)�”}”(hX=struct tipc_conn { struct kref kref; int conid; struct socket *sock; unsigned long flags; struct tipc_topsrv *server; struct list_head sub_list; spinlock_t sub_lock; struct work_struct rwork; struct list_head outqueue; spinlock_t outqueue_lock; struct work_struct swork; };”h]”hX=struct tipc_conn { struct kref kref; int conid; struct socket *sock; unsigned long flags; struct tipc_topsrv *server; struct list_head sub_list; spinlock_t sub_lock; struct work_struct rwork; struct list_head outqueue; spinlock_t outqueue_lock; struct work_struct swork; };”…”�”}”hjqÛsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÖh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KVhjPÛubhï)�”}”(hŒ **Members**”h]”j¼)�”}”(hj‚Ûh]”hŒMembers”…”�”}”(hj„Ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj€Ûubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KdhjPÛubj)�”}”(hhh]”(j)�”}”(hŒ0``kref`` reference counter to connection object ”h]”(j )�”}”(hŒ``kref``”h]”j)�”}”(hj¡Ûh]”hŒkref”…”�”}”(hj£Ûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŸÛubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KRhj›Ûubj')�”}”(hhh]”hï)�”}”(hŒ&reference counter to connection object”h]”hŒ&reference counter to connection object”…”�”}”(hjºÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j¶Ûh´KRhj·Ûubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj›Ûubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¶Ûh´KRhj˜Ûubj)�”}”(hŒ ``conid`` connection identifier ”h]”(j )�”}”(hŒ ``conid``”h]”j)�”}”(hjÚÛh]”hŒconid”…”�”}”(hjÜÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjØÛubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KShjÔÛubj')�”}”(hhh]”hï)�”}”(hŒconnection identifier”h]”hŒconnection identifier”…”�”}”(hjóÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jïÛh´KShjðÛubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÔÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jïÛh´KShj˜Ûubj)�”}”(hŒ3``sock`` socket handler associated with connection ”h]”(j )�”}”(hŒ``sock``”h]”j)�”}”(hjÜh]”hŒsock”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KThj Üubj')�”}”(hhh]”hï)�”}”(hŒ)socket handler associated with connection”h]”hŒ)socket handler associated with connection”…”�”}”(hj,Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j(Üh´KThj)Üubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj Üubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j(Üh´KThj˜Ûubj)�”}”(hŒ%``flags`` indicates connection state ”h]”(j )�”}”(hŒ ``flags``”h]”j)�”}”(hjLÜh]”hŒflags”…”�”}”(hjNÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjJÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KUhjFÜubj')�”}”(hhh]”hï)�”}”(hŒindicates connection state”h]”hŒindicates connection state”…”�”}”(hjeÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jaÜh´KUhjbÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjFÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jaÜh´KUhj˜Ûubj)�”}”(hŒ'``server`` pointer to connected server ”h]”(j )�”}”(hŒ ``server``”h]”j)�”}”(hj…Üh]”hŒserver”…”�”}”(hj‡Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjƒÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KVhjÜubj')�”}”(hhh]”hï)�”}”(hŒpointer to connected server”h]”hŒpointer to connected server”…”�”}”(hjžÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jšÜh´KVhj›Üubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jšÜh´KVhj˜Ûubj)�”}”(hŒ2``sub_list`` list to all pertaining subscriptions ”h]”(j )�”}”(hŒ ``sub_list``”h]”j)�”}”(hj¾Üh]”hŒsub_list”…”�”}”(hjÀÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¼Üubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KWhj¸Üubj')�”}”(hhh]”hï)�”}”(hŒ$list to all pertaining subscriptions”h]”hŒ$list to all pertaining subscriptions”…”�”}”(hj×Üh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jÓÜh´KWhjÔÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj¸Üubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÓÜh´KWhj˜Ûubj)�”}”(hŒ3``sub_lock`` lock protecting the subscription list ”h]”(j )�”}”(hŒ ``sub_lock``”h]”j)�”}”(hj÷Üh]”hŒsub_lock”…”�”}”(hjùÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjõÜubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KXhjñÜubj')�”}”(hhh]”hï)�”}”(hŒ%lock protecting the subscription list”h]”hŒ%lock protecting the subscription list”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j Ýh´KXhj Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjñÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j Ýh´KXhj˜Ûubj)�”}”(hŒ``rwork`` receive work item ”h]”(j )�”}”(hŒ ``rwork``”h]”j)�”}”(hj0Ýh]”hŒrwork”…”�”}”(hj2Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj.Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KYhj*Ýubj')�”}”(hhh]”hï)�”}”(hŒreceive work item”h]”hŒreceive work item”…”�”}”(hjIÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³jEÝh´KYhjFÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hj*Ýubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jEÝh´KYhj˜Ûubj)�”}”(hŒ8``outqueue`` pointer to first outbound message in queue ”h]”(j )�”}”(hŒ ``outqueue``”h]”j)�”}”(hjiÝh]”hŒoutqueue”…”�”}”(hjkÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjgÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´KZhjcÝubj')�”}”(hhh]”hï)�”}”(hŒ*pointer to first outbound message in queue”h]”hŒ*pointer to first outbound message in queue”…”�”}”(hj‚Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j~Ýh´KZhjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjcÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j~Ýh´KZhj˜Ûubj)�”}”(hŒ1``outqueue_lock`` control access to the outqueue ”h]”(j )�”}”(hŒ``outqueue_lock``”h]”j)�”}”(hj¢Ýh]”hŒ outqueue_lock”…”�”}”(hj¤Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´K[hjœÝubj')�”}”(hhh]”hï)�”}”(hŒcontrol access to the outqueue”h]”hŒcontrol access to the outqueue”…”�”}”(hj»Ýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³j·Ýh´K[hj¸Ýubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjœÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j·Ýh´K[hj˜Ûubj)�”}”(hŒ``swork`` send work item”h]”(j )�”}”(hŒ ``swork``”h]”j)�”}”(hjÛÝh]”hŒswork”…”�”}”(hjÝÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j h³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´K[hjÕÝubj')�”}”(hhh]”hï)�”}”(hŒsend work item”h]”hŒsend work item”…”�”}”(hjôÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³ŒR/var/lib/git/docbuild/linux/Documentation/networking/tipc:208: ./net/tipc/topsrv.c”h´K\hjñÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j&hjÕÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jðÝh´K[hj˜Ûubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÿhjPÛubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hj÷×h²hh³Nh´Nubeh}”(h]”Œtipc-server-interfaces”ah ]”h"]”Œtipc server interfaces”ah$]”h&]”uh1hÈhjâh²hh³hÇh´KÎubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTIPC Trace Interfaces”h]”hŒTIPC Trace Interfaces”…”�”}”(hj'Þh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj$Þh²hh³hÇh´KÔubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒtipc_skb_dump (C function)”Œc.tipc_skb_dump”hNt”auh1jhj$Þh²hh³Nh´Nubj$)�”}”(hhh]”(j))�”}”(hŒ=int tipc_skb_dump (struct sk_buff *skb, bool more, char *buf)”h]”j/)�”}”(hŒJjCJjrMjwMjQjQjTj"TjµVjºVjôYjùYjÆ\jË\j¯Õj_j"_j'_jgjgj“hj˜hj‚jj‡jj¯mj´mj~ojƒoj�rj”rjxuj}ujyxj~xjb|jg|j'�j,�jS„jX„j‡j„‡j«Šj°Šj×�jÜ�jª�j¯�j”j”jÑ–jÖ–j¢™j§™jsœjxœjœžj¡žj•¡jš¡jÔ¤jÙ¤j¨j¨jn©js©jɪjΪj›­j ­j&°j+°j³j ³j2µj7µj†¸j‹¸j±ºj¶ºj·½j¼½j¦¿j«¿jyÂj~Âj�Äj”ÄjÈj#Èj0Ëj5ËjXÌj]ÌjZÍj_ÍjÏjÏj8Ñj=ÑjaÓjfÓjñ×jµÕjÒÕj×ÕjÞj÷×jØjØjåÚjêÚj¿âj$ÞjAÞjFÞj…àjŠàuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”hŒsystem_message”“”)�”}”(hhh]”hï)�”}”(hŒeUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.”h]”hŒgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.”…”�”}”(hj_ãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîhj\ãubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œline”M Œsource”jåwuh1jZãhjæwubaŒtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.