Lines Matching refs:service
122 struct tipc_service *service = kzalloc(sizeof(*service), GFP_ATOMIC); in tipc_service_create() local
124 if (!service) { in tipc_service_create()
129 spin_lock_init(&service->lock); in tipc_service_create()
130 service->type = type; in tipc_service_create()
131 service->ranges = RB_ROOT; in tipc_service_create()
132 INIT_HLIST_NODE(&service->service_list); in tipc_service_create()
133 INIT_LIST_HEAD(&service->subscriptions); in tipc_service_create()
134 hlist_add_head_rcu(&service->service_list, hd); in tipc_service_create()
135 return service; in tipc_service_create()
285 static void tipc_service_subscribe(struct tipc_service *service, in tipc_service_subscribe() argument
300 list_add(&sub->service_list, &service->subscriptions); in tipc_service_subscribe()
305 for (n = rb_first(&service->ranges); n; n = rb_next(n)) { in tipc_service_subscribe()
326 struct tipc_service *service; in tipc_service_find() local
329 hlist_for_each_entry_rcu(service, service_head, service_list) { in tipc_service_find()
330 if (service->type == type) in tipc_service_find()
331 return service; in tipc_service_find()
780 struct tipc_service *service; in tipc_nametbl_stop() local
791 hlist_for_each_entry_rcu(service, service_head, service_list) { in tipc_nametbl_stop()
792 tipc_service_delete(net, service); in tipc_nametbl_stop()
802 struct tipc_service *service, in __tipc_nl_add_nametable_publ() argument
840 if (nla_put_u32(msg->skb, TIPC_NLA_PUBL_TYPE, service->type)) in __tipc_nl_add_nametable_publ()
899 struct tipc_service *service = NULL; in tipc_nl_service_list() local
914 service = tipc_service_find(net, *last_type); in tipc_nl_service_list()
915 if (!service) in tipc_nl_service_list()
918 hlist_for_each_entry_rcu(service, head, service_list) in tipc_nl_service_list()
920 if (!service) in tipc_nl_service_list()
924 hlist_for_each_entry_from_rcu(service, service_list) { in tipc_nl_service_list()
925 spin_lock_bh(&service->lock); in tipc_nl_service_list()
926 err = __tipc_nl_service_range_list(msg, service, in tipc_nl_service_list()
931 *last_type = service->type; in tipc_nl_service_list()
932 spin_unlock_bh(&service->lock); in tipc_nl_service_list()
935 spin_unlock_bh(&service->lock); in tipc_nl_service_list()