1 #ifndef __XNU_SOCKNAL_LIB_H__
2 #define __XNU_SOCKNAL_LIB_H__
4 #include <sys/kernel.h>
6 #include <sys/filedesc.h>
11 #include <sys/sysctl.h>
14 #include <sys/malloc.h>
16 #include <sys/socket.h>
17 #include <sys/socketvar.h>
18 #include <sys/domain.h>
19 #include <sys/protosw.h>
20 #include <sys/namei.h>
21 #include <sys/fcntl.h>
22 #include <sys/lockf.h>
23 #include <sys/syslog.h>
24 #include <machine/spl.h>
25 #include <mach/mach_types.h>
26 #include <netinet/in.h>
27 #include <netinet/tcp.h>
28 #include <netat/sysglue.h>
31 #include <libcfs/libcfs.h>
33 #define SOCKNAL_ARCH_EAGER_ACK 1
35 #define KSN_SOCK2FILE(so) ((struct file *)(so)->reserved4)
36 #define KSN_CONN2FILE(conn) ((struct file *)(conn)->ksnc_sock->reserved4)
38 #define SOCK_WMEM_QUEUED(so) ((so)->so_snd.sb_cc)
39 #define SOCK_ERROR(so) ((so)->so_error)
41 #define SOCK_TEST_NOSPACE(so) (sbspace(&(so)->so_snd) < (so)->so_snd.sb_lowat)
42 extern struct socket * sockfd_lookup(int fd, void *foo);
45 int ksocknal_nsched(void)