]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/net/flowadv.h
xnu-3248.60.10.tar.gz
[apple/xnu.git] / bsd / net / flowadv.h
index 96e6e9e9c1e80fea10a36b2fd9da58afbdef6705..44c9e08687bd95aeef366f653f99b0da97b439cd 100644 (file)
 #ifndef _NET_FLOWADV_H_
 #define        _NET_FLOWADV_H_
 
+#ifdef KERNEL_PRIVATE
 #include <sys/types.h>
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
+#include <sys/queue.h>
 
 #define        FADV_SUCCESS            0       /* success */
 #define        FADV_FLOW_CONTROLLED    1       /* regular flow control */
@@ -43,8 +41,24 @@ struct flowadv {
        int32_t         code;           /* FADV advisory code */
 };
 
-#ifdef  __cplusplus
-}
-#endif
+#ifdef BSD_KERNEL_PRIVATE
+struct flowadv_fcentry {
+       STAILQ_ENTRY(flowadv_fcentry) fce_link;
+       u_int32_t       fce_flowsrc;    /* FLOWSRC values */
+       u_int32_t       fce_flowid;
+};
+
+STAILQ_HEAD(flowadv_fclist, flowadv_fcentry);
+
+__BEGIN_DECLS
+
+extern void flowadv_init(void);
+extern struct flowadv_fcentry *flowadv_alloc_entry(int);
+extern void flowadv_free_entry(struct flowadv_fcentry *);
+extern void flowadv_add(struct flowadv_fclist *);
+
+__END_DECLS
 
+#endif /* BSD_KERNEL_PRIVATE */
+#endif /* KERNEL_PRIVATE */
 #endif /* _NET_FLOWADV_H_ */