1/*
2 * Copyright 2022, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _OBSD_COMPAT_NET_IFQ_H_
6#define _OBSD_COMPAT_NET_IFQ_H_
7
8
9#define ifq_purge(IFQ)				IFQ_PURGE(IFQ)
10#define ifq_set_maxlen(IFQ, LEN)	IFQ_SET_MAXLEN(IFQ, LEN)
11
12#define ifq_is_oactive(IFQ) ((if_getdrvflags(ifp) & IFF_DRV_OACTIVE) != 0)
13#define ifq_set_oactive(IFQ) if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0)
14#define ifq_clr_oactive(IFQ) if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE)
15
16
17static void
18ifq_serialize(struct ifaltq* ifq, struct task* t)
19{
20	task_add(systq, t);
21}
22
23
24static void
25ifq_barrier(struct ifaltq* ifq)
26{
27	taskqueue_drain_all(taskqueue_fast);
28}
29
30
31#endif	/* _OBSD_COMPAT_NET_IFQ_H_ */
32