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 ---