*/
#ifndef NET_KEXT_NET_H
#define NET_KEXT_NET_H
+#include <sys/appleapiopts.h>
#include <sys/queue.h>
#include <sys/socketvar.h>
struct sockutil;
struct sockopt;
+#ifdef __APPLE_API_UNSTABLE
+
/*
* This structure gives access to the functionality of the filter.
* The kextcb provides the link from the socket structure.
*/
struct sockif *nf_soif; /* Socket functions */
struct sockutil *nf_soutil; /* Sockbuf utility functions */
+ u_long reserved[4]; /* for future use if needed */
};
#define NFD_GLOBAL 0x01
/* How to unregister: filter, original protosw, flags */
extern int unregister_sockfilter(struct NFDescriptor *, struct protosw *, int);
+#ifdef __APPLE_API_PRIVATE
TAILQ_HEAD(nf_list, NFDescriptor);
extern struct nf_list nf_list;
+#endif /* __APPLE_API_PRIVATE */
#endif
#define NKE_OK 0
{ unsigned int nke_handle;
unsigned int nke_where;
int nke_flags; /* NFF_BEFORE, NFF_AFTER: net/kext_net.h */
+ unsigned long reserved[4]; /* for future use */
};
/*
/* Calls sowwakeup(), sorwakeup() */
int (*sf_soisdisconnecting)(struct socket *, struct kextcb *);
/* Calls soreserve(), soqinsque(), soqremque(), sorwakeup() */
- struct socket *(*sf_sonewconn1)(struct socket *, int, struct kextcb *);
+ int (*sf_sonewconn)(struct socket *, int, struct kextcb *);
int (*sf_soqinsque)(struct socket *, struct socket *, int,
struct kextcb *);
int (*sf_soqremque)(struct socket *, int, struct kextcb *);
int (*sf_soreserve)(struct socket *, u_long, u_long, struct kextcb *);
int (*sf_sowakeup)(struct socket *, struct sockbuf *,
struct kextcb *);
+ u_long reserved[4];
};
int (*su_sbreserve)(struct sockbuf *, u_long, struct kextcb *);
/* Calls tsleep() */
int (*su_sbwait)(struct sockbuf *, struct kextcb *);
+ u_long reserved[4];
};
+#endif /* __APPLE_API_UNSTABLE */
#endif