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