Lines Matching refs:m
129 static inline u32 msg_word(struct tipc_msg *m, u32 pos) in msg_word() argument
131 return ntohl(m->hdr[pos]); in msg_word()
134 static inline void msg_set_word(struct tipc_msg *m, u32 w, u32 val) in msg_set_word() argument
136 m->hdr[w] = htonl(val); in msg_set_word()
139 static inline u32 msg_bits(struct tipc_msg *m, u32 w, u32 pos, u32 mask) in msg_bits() argument
141 return (msg_word(m, w) >> pos) & mask; in msg_bits()
144 static inline void msg_set_bits(struct tipc_msg *m, u32 w, in msg_set_bits() argument
149 m->hdr[w] &= ~htonl(mask); in msg_set_bits()
150 m->hdr[w] |= htonl(val); in msg_set_bits()
164 static inline u32 msg_version(struct tipc_msg *m) in msg_version() argument
166 return msg_bits(m, 0, 29, 7); in msg_version()
169 static inline void msg_set_version(struct tipc_msg *m) in msg_set_version() argument
171 msg_set_bits(m, 0, 29, 7, TIPC_VERSION); in msg_set_version()
174 static inline u32 msg_user(struct tipc_msg *m) in msg_user() argument
176 return msg_bits(m, 0, 25, 0xf); in msg_user()
179 static inline u32 msg_isdata(struct tipc_msg *m) in msg_isdata() argument
181 return msg_user(m) <= TIPC_CRITICAL_IMPORTANCE; in msg_isdata()
184 static inline void msg_set_user(struct tipc_msg *m, u32 n) in msg_set_user() argument
186 msg_set_bits(m, 0, 25, 0xf, n); in msg_set_user()
189 static inline u32 msg_hdr_sz(struct tipc_msg *m) in msg_hdr_sz() argument
191 return msg_bits(m, 0, 21, 0xf) << 2; in msg_hdr_sz()
194 static inline void msg_set_hdr_sz(struct tipc_msg *m, u32 n) in msg_set_hdr_sz() argument
196 msg_set_bits(m, 0, 21, 0xf, n>>2); in msg_set_hdr_sz()
199 static inline u32 msg_size(struct tipc_msg *m) in msg_size() argument
201 return msg_bits(m, 0, 0, 0x1ffff); in msg_size()
204 static inline u32 msg_data_sz(struct tipc_msg *m) in msg_data_sz() argument
206 return msg_size(m) - msg_hdr_sz(m); in msg_data_sz()
209 static inline int msg_non_seq(struct tipc_msg *m) in msg_non_seq() argument
211 return msg_bits(m, 0, 20, 1); in msg_non_seq()
214 static inline void msg_set_non_seq(struct tipc_msg *m, u32 n) in msg_set_non_seq() argument
216 msg_set_bits(m, 0, 20, 1, n); in msg_set_non_seq()
219 static inline int msg_dest_droppable(struct tipc_msg *m) in msg_dest_droppable() argument
221 return msg_bits(m, 0, 19, 1); in msg_dest_droppable()
224 static inline void msg_set_dest_droppable(struct tipc_msg *m, u32 d) in msg_set_dest_droppable() argument
226 msg_set_bits(m, 0, 19, 1, d); in msg_set_dest_droppable()
229 static inline int msg_src_droppable(struct tipc_msg *m) in msg_src_droppable() argument
231 return msg_bits(m, 0, 18, 1); in msg_src_droppable()
234 static inline void msg_set_src_droppable(struct tipc_msg *m, u32 d) in msg_set_src_droppable() argument
236 msg_set_bits(m, 0, 18, 1, d); in msg_set_src_droppable()
239 static inline void msg_set_size(struct tipc_msg *m, u32 sz) in msg_set_size() argument
241 m->hdr[0] = htonl((msg_word(m, 0) & ~0x1ffff) | sz); in msg_set_size()
244 static inline unchar *msg_data(struct tipc_msg *m) in msg_data() argument
246 return ((unchar *)m) + msg_hdr_sz(m); in msg_data()
249 static inline struct tipc_msg *msg_get_wrapped(struct tipc_msg *m) in msg_get_wrapped() argument
251 return (struct tipc_msg *)msg_data(m); in msg_get_wrapped()
257 static inline u32 msg_type(struct tipc_msg *m) in msg_type() argument
259 return msg_bits(m, 1, 29, 0x7); in msg_type()
262 static inline void msg_set_type(struct tipc_msg *m, u32 n) in msg_set_type() argument
264 msg_set_bits(m, 1, 29, 0x7, n); in msg_set_type()
267 static inline u32 msg_named(struct tipc_msg *m) in msg_named() argument
269 return msg_type(m) == TIPC_NAMED_MSG; in msg_named()
272 static inline u32 msg_mcast(struct tipc_msg *m) in msg_mcast() argument
274 return msg_type(m) == TIPC_MCAST_MSG; in msg_mcast()
277 static inline u32 msg_connected(struct tipc_msg *m) in msg_connected() argument
279 return msg_type(m) == TIPC_CONN_MSG; in msg_connected()
282 static inline u32 msg_errcode(struct tipc_msg *m) in msg_errcode() argument
284 return msg_bits(m, 1, 25, 0xf); in msg_errcode()
287 static inline void msg_set_errcode(struct tipc_msg *m, u32 err) in msg_set_errcode() argument
289 msg_set_bits(m, 1, 25, 0xf, err); in msg_set_errcode()
292 static inline u32 msg_reroute_cnt(struct tipc_msg *m) in msg_reroute_cnt() argument
294 return msg_bits(m, 1, 21, 0xf); in msg_reroute_cnt()
297 static inline void msg_incr_reroute_cnt(struct tipc_msg *m) in msg_incr_reroute_cnt() argument
299 msg_set_bits(m, 1, 21, 0xf, msg_reroute_cnt(m) + 1); in msg_incr_reroute_cnt()
302 static inline void msg_reset_reroute_cnt(struct tipc_msg *m) in msg_reset_reroute_cnt() argument
304 msg_set_bits(m, 1, 21, 0xf, 0); in msg_reset_reroute_cnt()
307 static inline u32 msg_lookup_scope(struct tipc_msg *m) in msg_lookup_scope() argument
309 return msg_bits(m, 1, 19, 0x3); in msg_lookup_scope()
312 static inline void msg_set_lookup_scope(struct tipc_msg *m, u32 n) in msg_set_lookup_scope() argument
314 msg_set_bits(m, 1, 19, 0x3, n); in msg_set_lookup_scope()
317 static inline u16 msg_bcast_ack(struct tipc_msg *m) in msg_bcast_ack() argument
319 return msg_bits(m, 1, 0, 0xffff); in msg_bcast_ack()
322 static inline void msg_set_bcast_ack(struct tipc_msg *m, u16 n) in msg_set_bcast_ack() argument
324 msg_set_bits(m, 1, 0, 0xffff, n); in msg_set_bcast_ack()
331 static inline u16 msg_ack(struct tipc_msg *m) in msg_ack() argument
333 return msg_bits(m, 2, 16, 0xffff); in msg_ack()
336 static inline void msg_set_ack(struct tipc_msg *m, u16 n) in msg_set_ack() argument
338 msg_set_bits(m, 2, 16, 0xffff, n); in msg_set_ack()
341 static inline u16 msg_seqno(struct tipc_msg *m) in msg_seqno() argument
343 return msg_bits(m, 2, 0, 0xffff); in msg_seqno()
346 static inline void msg_set_seqno(struct tipc_msg *m, u16 n) in msg_set_seqno() argument
348 msg_set_bits(m, 2, 0, 0xffff, n); in msg_set_seqno()
354 static inline u32 msg_importance(struct tipc_msg *m) in msg_importance() argument
356 int usr = msg_user(m); in msg_importance()
358 if (likely((usr <= TIPC_CRITICAL_IMPORTANCE) && !msg_errcode(m))) in msg_importance()
361 return msg_bits(m, 9, 0, 0x7); in msg_importance()
365 static inline void msg_set_importance(struct tipc_msg *m, u32 i) in msg_set_importance() argument
367 int usr = msg_user(m); in msg_set_importance()
370 msg_set_bits(m, 9, 0, 0x7, i); in msg_set_importance()
372 msg_set_user(m, i); in msg_set_importance()
377 static inline u32 msg_prevnode(struct tipc_msg *m) in msg_prevnode() argument
379 return msg_word(m, 3); in msg_prevnode()
382 static inline void msg_set_prevnode(struct tipc_msg *m, u32 a) in msg_set_prevnode() argument
384 msg_set_word(m, 3, a); in msg_set_prevnode()
387 static inline u32 msg_origport(struct tipc_msg *m) in msg_origport() argument
389 if (msg_user(m) == MSG_FRAGMENTER) in msg_origport()
390 m = msg_get_wrapped(m); in msg_origport()
391 return msg_word(m, 4); in msg_origport()
394 static inline void msg_set_origport(struct tipc_msg *m, u32 p) in msg_set_origport() argument
396 msg_set_word(m, 4, p); in msg_set_origport()
399 static inline u32 msg_destport(struct tipc_msg *m) in msg_destport() argument
401 return msg_word(m, 5); in msg_destport()
404 static inline void msg_set_destport(struct tipc_msg *m, u32 p) in msg_set_destport() argument
406 msg_set_word(m, 5, p); in msg_set_destport()
409 static inline u32 msg_mc_netid(struct tipc_msg *m) in msg_mc_netid() argument
411 return msg_word(m, 5); in msg_mc_netid()
414 static inline void msg_set_mc_netid(struct tipc_msg *m, u32 p) in msg_set_mc_netid() argument
416 msg_set_word(m, 5, p); in msg_set_mc_netid()
419 static inline int msg_short(struct tipc_msg *m) in msg_short() argument
421 return msg_hdr_sz(m) == SHORT_H_SIZE; in msg_short()
424 static inline u32 msg_orignode(struct tipc_msg *m) in msg_orignode() argument
426 if (likely(msg_short(m))) in msg_orignode()
427 return msg_prevnode(m); in msg_orignode()
428 return msg_word(m, 6); in msg_orignode()
431 static inline void msg_set_orignode(struct tipc_msg *m, u32 a) in msg_set_orignode() argument
433 msg_set_word(m, 6, a); in msg_set_orignode()
436 static inline u32 msg_destnode(struct tipc_msg *m) in msg_destnode() argument
438 return msg_word(m, 7); in msg_destnode()
441 static inline void msg_set_destnode(struct tipc_msg *m, u32 a) in msg_set_destnode() argument
443 msg_set_word(m, 7, a); in msg_set_destnode()
446 static inline u32 msg_nametype(struct tipc_msg *m) in msg_nametype() argument
448 return msg_word(m, 8); in msg_nametype()
451 static inline void msg_set_nametype(struct tipc_msg *m, u32 n) in msg_set_nametype() argument
453 msg_set_word(m, 8, n); in msg_set_nametype()
456 static inline u32 msg_nameinst(struct tipc_msg *m) in msg_nameinst() argument
458 return msg_word(m, 9); in msg_nameinst()
461 static inline u32 msg_namelower(struct tipc_msg *m) in msg_namelower() argument
463 return msg_nameinst(m); in msg_namelower()
466 static inline void msg_set_namelower(struct tipc_msg *m, u32 n) in msg_set_namelower() argument
468 msg_set_word(m, 9, n); in msg_set_namelower()
471 static inline void msg_set_nameinst(struct tipc_msg *m, u32 n) in msg_set_nameinst() argument
473 msg_set_namelower(m, n); in msg_set_nameinst()
476 static inline u32 msg_nameupper(struct tipc_msg *m) in msg_nameupper() argument
478 return msg_word(m, 10); in msg_nameupper()
481 static inline void msg_set_nameupper(struct tipc_msg *m, u32 n) in msg_set_nameupper() argument
483 msg_set_word(m, 10, n); in msg_set_nameupper()
532 static inline u32 msg_seq_gap(struct tipc_msg *m) in msg_seq_gap() argument
534 return msg_bits(m, 1, 16, 0x1fff); in msg_seq_gap()
537 static inline void msg_set_seq_gap(struct tipc_msg *m, u32 n) in msg_set_seq_gap() argument
539 msg_set_bits(m, 1, 16, 0x1fff, n); in msg_set_seq_gap()
542 static inline u32 msg_node_sig(struct tipc_msg *m) in msg_node_sig() argument
544 return msg_bits(m, 1, 0, 0xffff); in msg_node_sig()
547 static inline void msg_set_node_sig(struct tipc_msg *m, u32 n) in msg_set_node_sig() argument
549 msg_set_bits(m, 1, 0, 0xffff, n); in msg_set_node_sig()
552 static inline u32 msg_node_capabilities(struct tipc_msg *m) in msg_node_capabilities() argument
554 return msg_bits(m, 1, 15, 0x1fff); in msg_node_capabilities()
557 static inline void msg_set_node_capabilities(struct tipc_msg *m, u32 n) in msg_set_node_capabilities() argument
559 msg_set_bits(m, 1, 15, 0x1fff, n); in msg_set_node_capabilities()
565 static inline u32 msg_dest_domain(struct tipc_msg *m) in msg_dest_domain() argument
567 return msg_word(m, 2); in msg_dest_domain()
570 static inline void msg_set_dest_domain(struct tipc_msg *m, u32 n) in msg_set_dest_domain() argument
572 msg_set_word(m, 2, n); in msg_set_dest_domain()
575 static inline u32 msg_bcgap_after(struct tipc_msg *m) in msg_bcgap_after() argument
577 return msg_bits(m, 2, 16, 0xffff); in msg_bcgap_after()
580 static inline void msg_set_bcgap_after(struct tipc_msg *m, u32 n) in msg_set_bcgap_after() argument
582 msg_set_bits(m, 2, 16, 0xffff, n); in msg_set_bcgap_after()
585 static inline u32 msg_bcgap_to(struct tipc_msg *m) in msg_bcgap_to() argument
587 return msg_bits(m, 2, 0, 0xffff); in msg_bcgap_to()
590 static inline void msg_set_bcgap_to(struct tipc_msg *m, u32 n) in msg_set_bcgap_to() argument
592 msg_set_bits(m, 2, 0, 0xffff, n); in msg_set_bcgap_to()
599 static inline u32 msg_last_bcast(struct tipc_msg *m) in msg_last_bcast() argument
601 return msg_bits(m, 4, 16, 0xffff); in msg_last_bcast()
604 static inline u32 msg_bc_snd_nxt(struct tipc_msg *m) in msg_bc_snd_nxt() argument
606 return msg_last_bcast(m) + 1; in msg_bc_snd_nxt()
609 static inline void msg_set_last_bcast(struct tipc_msg *m, u32 n) in msg_set_last_bcast() argument
611 msg_set_bits(m, 4, 16, 0xffff, n); in msg_set_last_bcast()
614 static inline void msg_set_fragm_no(struct tipc_msg *m, u32 n) in msg_set_fragm_no() argument
616 msg_set_bits(m, 4, 16, 0xffff, n); in msg_set_fragm_no()
620 static inline u16 msg_next_sent(struct tipc_msg *m) in msg_next_sent() argument
622 return msg_bits(m, 4, 0, 0xffff); in msg_next_sent()
625 static inline void msg_set_next_sent(struct tipc_msg *m, u16 n) in msg_set_next_sent() argument
627 msg_set_bits(m, 4, 0, 0xffff, n); in msg_set_next_sent()
630 static inline void msg_set_long_msgno(struct tipc_msg *m, u32 n) in msg_set_long_msgno() argument
632 msg_set_bits(m, 4, 0, 0xffff, n); in msg_set_long_msgno()
635 static inline u32 msg_bc_netid(struct tipc_msg *m) in msg_bc_netid() argument
637 return msg_word(m, 4); in msg_bc_netid()
640 static inline void msg_set_bc_netid(struct tipc_msg *m, u32 id) in msg_set_bc_netid() argument
642 msg_set_word(m, 4, id); in msg_set_bc_netid()
645 static inline u32 msg_link_selector(struct tipc_msg *m) in msg_link_selector() argument
647 return msg_bits(m, 4, 0, 1); in msg_link_selector()
650 static inline void msg_set_link_selector(struct tipc_msg *m, u32 n) in msg_set_link_selector() argument
652 msg_set_bits(m, 4, 0, 1, n); in msg_set_link_selector()
658 static inline u16 msg_session(struct tipc_msg *m) in msg_session() argument
660 return msg_bits(m, 5, 16, 0xffff); in msg_session()
663 static inline void msg_set_session(struct tipc_msg *m, u16 n) in msg_set_session() argument
665 msg_set_bits(m, 5, 16, 0xffff, n); in msg_set_session()
668 static inline u32 msg_probe(struct tipc_msg *m) in msg_probe() argument
670 return msg_bits(m, 5, 0, 1); in msg_probe()
673 static inline void msg_set_probe(struct tipc_msg *m, u32 val) in msg_set_probe() argument
675 msg_set_bits(m, 5, 0, 1, val); in msg_set_probe()
678 static inline char msg_net_plane(struct tipc_msg *m) in msg_net_plane() argument
680 return msg_bits(m, 5, 1, 7) + 'A'; in msg_net_plane()
683 static inline void msg_set_net_plane(struct tipc_msg *m, char n) in msg_set_net_plane() argument
685 msg_set_bits(m, 5, 1, 7, (n - 'A')); in msg_set_net_plane()
688 static inline u32 msg_linkprio(struct tipc_msg *m) in msg_linkprio() argument
690 return msg_bits(m, 5, 4, 0x1f); in msg_linkprio()
693 static inline void msg_set_linkprio(struct tipc_msg *m, u32 n) in msg_set_linkprio() argument
695 msg_set_bits(m, 5, 4, 0x1f, n); in msg_set_linkprio()
698 static inline u32 msg_bearer_id(struct tipc_msg *m) in msg_bearer_id() argument
700 return msg_bits(m, 5, 9, 0x7); in msg_bearer_id()
703 static inline void msg_set_bearer_id(struct tipc_msg *m, u32 n) in msg_set_bearer_id() argument
705 msg_set_bits(m, 5, 9, 0x7, n); in msg_set_bearer_id()
708 static inline u32 msg_redundant_link(struct tipc_msg *m) in msg_redundant_link() argument
710 return msg_bits(m, 5, 12, 0x1); in msg_redundant_link()
713 static inline void msg_set_redundant_link(struct tipc_msg *m, u32 r) in msg_set_redundant_link() argument
715 msg_set_bits(m, 5, 12, 0x1, r); in msg_set_redundant_link()
718 static inline char *msg_media_addr(struct tipc_msg *m) in msg_media_addr() argument
720 return (char *)&m->hdr[TIPC_MEDIA_INFO_OFFSET]; in msg_media_addr()
726 static inline u16 msg_msgcnt(struct tipc_msg *m) in msg_msgcnt() argument
728 return msg_bits(m, 9, 16, 0xffff); in msg_msgcnt()
731 static inline void msg_set_msgcnt(struct tipc_msg *m, u16 n) in msg_set_msgcnt() argument
733 msg_set_bits(m, 9, 16, 0xffff, n); in msg_set_msgcnt()
736 static inline u32 msg_bcast_tag(struct tipc_msg *m) in msg_bcast_tag() argument
738 return msg_bits(m, 9, 16, 0xffff); in msg_bcast_tag()
741 static inline void msg_set_bcast_tag(struct tipc_msg *m, u32 n) in msg_set_bcast_tag() argument
743 msg_set_bits(m, 9, 16, 0xffff, n); in msg_set_bcast_tag()
746 static inline u32 msg_max_pkt(struct tipc_msg *m) in msg_max_pkt() argument
748 return msg_bits(m, 9, 16, 0xffff) * 4; in msg_max_pkt()
751 static inline void msg_set_max_pkt(struct tipc_msg *m, u32 n) in msg_set_max_pkt() argument
753 msg_set_bits(m, 9, 16, 0xffff, (n / 4)); in msg_set_max_pkt()
756 static inline u32 msg_link_tolerance(struct tipc_msg *m) in msg_link_tolerance() argument
758 return msg_bits(m, 9, 0, 0xffff); in msg_link_tolerance()
761 static inline void msg_set_link_tolerance(struct tipc_msg *m, u32 n) in msg_set_link_tolerance() argument
763 msg_set_bits(m, 9, 0, 0xffff, n); in msg_set_link_tolerance()
766 static inline bool msg_peer_link_is_up(struct tipc_msg *m) in msg_peer_link_is_up() argument
768 if (likely(msg_user(m) != LINK_PROTOCOL)) in msg_peer_link_is_up()
770 if (msg_type(m) == STATE_MSG) in msg_peer_link_is_up()
775 static inline bool msg_peer_node_is_up(struct tipc_msg *m) in msg_peer_node_is_up() argument
777 if (msg_peer_link_is_up(m)) in msg_peer_node_is_up()
779 return msg_redundant_link(m); in msg_peer_node_is_up()
785 void tipc_msg_init(u32 own_addr, struct tipc_msg *m, u32 user, u32 type,
795 int tipc_msg_build(struct tipc_msg *mhdr, struct msghdr *m,