if_var.h (f0a26983) | if_var.h (3c4cd924) |
---|---|
1/* 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 124 unchanged lines hidden (view full) --- 133 */ 134 135enum ifnet_serialize { 136 IFNET_SERIALIZE_ALL, 137 IFNET_SERIALIZE_MAIN, 138 IFNET_SERIALIZE_TX_BASE = 0x10000000, 139 IFNET_SERIALIZE_RX_BASE = 0x20000000 140}; | 1/* 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 124 unchanged lines hidden (view full) --- 133 */ 134 135enum ifnet_serialize { 136 IFNET_SERIALIZE_ALL, 137 IFNET_SERIALIZE_MAIN, 138 IFNET_SERIALIZE_TX_BASE = 0x10000000, 139 IFNET_SERIALIZE_RX_BASE = 0x20000000 140}; |
141#define IFNET_SERIALIZE_TX IFNET_SERIALIZE_TX_BASE | 141#define IFNET_SERIALIZE_TX(i) (IFNET_SERIALIZE_TX_BASE + (i)) |
142#define IFNET_SERIALIZE_RX(i) (IFNET_SERIALIZE_RX_BASE + (i)) 143 144#if defined(_KERNEL) || defined(_KERNEL_STRUCTURES) 145 146/* 147 * Structure defining a network interface. 148 * 149 * (Would like to call this struct ``if'', but C isn't PL/1.) --- 207 unchanged lines hidden (view full) --- 357EVENTHANDLER_DECLARE(iflladdr_event, iflladdr_event_handler_t); 358 359#ifdef INVARIANTS 360#define ASSERT_IFNET_SERIALIZED_ALL(ifp) \ 361 (ifp)->if_serialize_assert((ifp), IFNET_SERIALIZE_ALL, TRUE) 362#define ASSERT_IFNET_NOT_SERIALIZED_ALL(ifp) \ 363 (ifp)->if_serialize_assert((ifp), IFNET_SERIALIZE_ALL, FALSE) 364 | 142#define IFNET_SERIALIZE_RX(i) (IFNET_SERIALIZE_RX_BASE + (i)) 143 144#if defined(_KERNEL) || defined(_KERNEL_STRUCTURES) 145 146/* 147 * Structure defining a network interface. 148 * 149 * (Would like to call this struct ``if'', but C isn't PL/1.) --- 207 unchanged lines hidden (view full) --- 357EVENTHANDLER_DECLARE(iflladdr_event, iflladdr_event_handler_t); 358 359#ifdef INVARIANTS 360#define ASSERT_IFNET_SERIALIZED_ALL(ifp) \ 361 (ifp)->if_serialize_assert((ifp), IFNET_SERIALIZE_ALL, TRUE) 362#define ASSERT_IFNET_NOT_SERIALIZED_ALL(ifp) \ 363 (ifp)->if_serialize_assert((ifp), IFNET_SERIALIZE_ALL, FALSE) 364 |
365#define ASSERT_IFNET_SERIALIZED_TX(ifp) \ 366 (ifp)->if_serialize_assert((ifp), IFNET_SERIALIZE_TX, TRUE) 367#define ASSERT_IFNET_NOT_SERIALIZED_TX(ifp) \ 368 (ifp)->if_serialize_assert((ifp), IFNET_SERIALIZE_TX, FALSE) | 365#define ASSERT_IFNET_SERIALIZED_TX(ifp, ifsq) \ 366 (ifp)->if_serialize_assert((ifp), \ 367 IFNET_SERIALIZE_TX((ifsq)->ifsq_index), TRUE) 368#define ASSERT_IFNET_NOT_SERIALIZED_TX(ifp, ifsq) \ 369 (ifp)->if_serialize_assert((ifp), \ 370 IFNET_SERIALIZE_TX((ifsq)->ifsq_index), FALSE) |
369 370#define ASSERT_IFNET_SERIALIZED_MAIN(ifp) \ 371 (ifp)->if_serialize_assert((ifp), IFNET_SERIALIZE_MAIN, TRUE) 372#define ASSERT_IFNET_NOT_SERIALIZED_MAIN(ifp) \ 373 (ifp)->if_serialize_assert((ifp), IFNET_SERIALIZE_MAIN, FALSE) 374#else 375#define ASSERT_IFNET_SERIALIZED_ALL(ifp) ((void)0) 376#define ASSERT_IFNET_NOT_SERIALIZED_ALL(ifp) ((void)0) | 371 372#define ASSERT_IFNET_SERIALIZED_MAIN(ifp) \ 373 (ifp)->if_serialize_assert((ifp), IFNET_SERIALIZE_MAIN, TRUE) 374#define ASSERT_IFNET_NOT_SERIALIZED_MAIN(ifp) \ 375 (ifp)->if_serialize_assert((ifp), IFNET_SERIALIZE_MAIN, FALSE) 376#else 377#define ASSERT_IFNET_SERIALIZED_ALL(ifp) ((void)0) 378#define ASSERT_IFNET_NOT_SERIALIZED_ALL(ifp) ((void)0) |
377#define ASSERT_IFNET_SERIALIZED_TX(ifp) ((void)0) 378#define ASSERT_IFNET_NOT_SERIALIZED_TX(ifp) ((void)0) | 379#define ASSERT_IFNET_SERIALIZED_TX(ifp, ifsq) ((void)0) 380#define ASSERT_IFNET_NOT_SERIALIZED_TX(ifp, ifsq) ((void)0) |
379#define ASSERT_IFNET_SERIALIZED_MAIN(ifp) ((void)0) 380#define ASSERT_IFNET_NOT_SERIALIZED_MAIN(ifp) ((void)0) 381#endif 382 383static __inline void 384ifnet_serialize_all(struct ifnet *_ifp) 385{ 386 _ifp->if_serialize(_ifp, IFNET_SERIALIZE_ALL); --- 7 unchanged lines hidden (view full) --- 394 395static __inline int 396ifnet_tryserialize_all(struct ifnet *_ifp) 397{ 398 return _ifp->if_tryserialize(_ifp, IFNET_SERIALIZE_ALL); 399} 400 401static __inline void | 381#define ASSERT_IFNET_SERIALIZED_MAIN(ifp) ((void)0) 382#define ASSERT_IFNET_NOT_SERIALIZED_MAIN(ifp) ((void)0) 383#endif 384 385static __inline void 386ifnet_serialize_all(struct ifnet *_ifp) 387{ 388 _ifp->if_serialize(_ifp, IFNET_SERIALIZE_ALL); --- 7 unchanged lines hidden (view full) --- 396 397static __inline int 398ifnet_tryserialize_all(struct ifnet *_ifp) 399{ 400 return _ifp->if_tryserialize(_ifp, IFNET_SERIALIZE_ALL); 401} 402 403static __inline void |
402ifnet_serialize_tx(struct ifnet *_ifp) | 404ifnet_serialize_tx(struct ifnet *_ifp, const struct ifaltq_subque *_ifsq) |
403{ | 405{ |
404 _ifp->if_serialize(_ifp, IFNET_SERIALIZE_TX); | 406 _ifp->if_serialize(_ifp, IFNET_SERIALIZE_TX(_ifsq->ifsq_index)); |
405} 406 407static __inline void | 407} 408 409static __inline void |
408ifnet_deserialize_tx(struct ifnet *_ifp) | 410ifnet_deserialize_tx(struct ifnet *_ifp, const struct ifaltq_subque *_ifsq) |
409{ | 411{ |
410 _ifp->if_deserialize(_ifp, IFNET_SERIALIZE_TX); | 412 _ifp->if_deserialize(_ifp, IFNET_SERIALIZE_TX(_ifsq->ifsq_index)); |
411} 412 413static __inline int | 413} 414 415static __inline int |
414ifnet_tryserialize_tx(struct ifnet *_ifp) | 416ifnet_tryserialize_tx(struct ifnet *_ifp, const struct ifaltq_subque *_ifsq) |
415{ | 417{ |
416 return _ifp->if_tryserialize(_ifp, IFNET_SERIALIZE_TX); | 418 return _ifp->if_tryserialize(_ifp, 419 IFNET_SERIALIZE_TX(_ifsq->ifsq_index)); |
417} 418 419static __inline void 420ifnet_serialize_main(struct ifnet *_ifp) 421{ 422 _ifp->if_serialize(_ifp, IFNET_SERIALIZE_MAIN); 423} 424 --- 441 unchanged lines hidden --- | 420} 421 422static __inline void 423ifnet_serialize_main(struct ifnet *_ifp) 424{ 425 _ifp->if_serialize(_ifp, IFNET_SERIALIZE_MAIN); 426} 427 --- 441 unchanged lines hidden --- |