~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/net/tipc/addr.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /net/tipc/addr.h (Version linux-6.11.5) and /net/tipc/addr.h (Version unix-v6-master)


  1 /*                                                  1 
  2  * net/tipc/addr.h: Include file for TIPC addr    
  3  *                                                
  4  * Copyright (c) 2000-2006, 2018, Ericsson AB     
  5  * Copyright (c) 2004-2005, Wind River Systems    
  6  * Copyright (c) 2020-2021, Red Hat Inc           
  7  * All rights reserved.                           
  8  *                                                
  9  * Redistribution and use in source and binary    
 10  * modification, are permitted provided that t    
 11  *                                                
 12  * 1. Redistributions of source code must reta    
 13  *    notice, this list of conditions and the     
 14  * 2. Redistributions in binary form must repr    
 15  *    notice, this list of conditions and the     
 16  *    documentation and/or other materials pro    
 17  * 3. Neither the names of the copyright holde    
 18  *    contributors may be used to endorse or p    
 19  *    this software without specific prior wri    
 20  *                                                
 21  * Alternatively, this software may be distrib    
 22  * GNU General Public License ("GPL") version     
 23  * Software Foundation.                           
 24  *                                                
 25  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT     
 26  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCL    
 27  * IMPLIED WARRANTIES OF MERCHANTABILITY AND F    
 28  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYR    
 29  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL    
 30  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT L    
 31  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,     
 32  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THE    
 33  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUD    
 34  * ARISING IN ANY WAY OUT OF THE USE OF THIS S    
 35  * POSSIBILITY OF SUCH DAMAGE.                    
 36  */                                               
 37                                                   
 38 #ifndef _TIPC_ADDR_H                              
 39 #define _TIPC_ADDR_H                              
 40                                                   
 41 #include <linux/types.h>                          
 42 #include <linux/tipc.h>                           
 43 #include <net/net_namespace.h>                    
 44 #include <net/netns/generic.h>                    
 45 #include "core.h"                                 
 46                                                   
 47 /* Struct tipc_uaddr: internal version of stru    
 48  * Must be kept aligned both regarding field p    
 49  */                                               
 50 struct tipc_uaddr {                               
 51         unsigned short family;                    
 52         unsigned char addrtype;                   
 53         signed char scope;                        
 54         union {                                   
 55                 struct {                          
 56                         struct tipc_service_ad    
 57                         u32 lookup_node;          
 58                 };                                
 59                 struct tipc_service_range sr;     
 60                 struct tipc_socket_addr sk;       
 61         };                                        
 62 };                                                
 63                                                   
 64 static inline void tipc_uaddr(struct tipc_uadd    
 65                               u32 type, u32 lo    
 66 {                                                 
 67         ua->family = AF_TIPC;                     
 68         ua->addrtype = atype;                     
 69         ua->scope = scope;                        
 70         ua->sr.type = type;                       
 71         ua->sr.lower = lower;                     
 72         ua->sr.upper = upper;                     
 73 }                                                 
 74                                                   
 75 static inline bool tipc_uaddr_valid(struct tip    
 76 {                                                 
 77         u32 atype;                                
 78                                                   
 79         if (len < sizeof(struct sockaddr_tipc)    
 80                 return false;                     
 81         atype = ua->addrtype;                     
 82         if (ua->family != AF_TIPC)                
 83                 return false;                     
 84         if (atype == TIPC_SERVICE_ADDR || atyp    
 85                 return true;                      
 86         if (atype == TIPC_SERVICE_RANGE)          
 87                 return ua->sr.upper >= ua->sr.    
 88         return false;                             
 89 }                                                 
 90                                                   
 91 static inline u32 tipc_own_addr(struct net *ne    
 92 {                                                 
 93         return tipc_net(net)->node_addr;          
 94 }                                                 
 95                                                   
 96 static inline u8 *tipc_own_id(struct net *net)    
 97 {                                                 
 98         struct tipc_net *tn = tipc_net(net);      
 99                                                   
100         if (!strlen(tn->node_id_string))          
101                 return NULL;                      
102         return tn->node_id;                       
103 }                                                 
104                                                   
105 static inline char *tipc_own_id_string(struct     
106 {                                                 
107         return tipc_net(net)->node_id_string;     
108 }                                                 
109                                                   
110 static inline u32 tipc_cluster_mask(u32 addr)     
111 {                                                 
112         return addr & TIPC_ZONE_CLUSTER_MASK;     
113 }                                                 
114                                                   
115 static inline int tipc_node2scope(u32 node)       
116 {                                                 
117         return node ? TIPC_NODE_SCOPE : TIPC_C    
118 }                                                 
119                                                   
120 static inline int tipc_scope2node(struct net *    
121 {                                                 
122         return sc != TIPC_NODE_SCOPE ? 0 : tip    
123 }                                                 
124                                                   
125 static inline int in_own_node(struct net *net,    
126 {                                                 
127         return addr == tipc_own_addr(net) || !    
128 }                                                 
129                                                   
130 bool tipc_in_scope(bool legacy_format, u32 dom    
131 void tipc_set_node_id(struct net *net, u8 *id)    
132 void tipc_set_node_addr(struct net *net, u32 a    
133 char *tipc_nodeid2string(char *str, u8 *id);      
134                                                   
135 #endif                                            
136                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php