
# from sys/socket.h:
#define AF_UNSPEC		0x0
#define	AF_INET			0x1		
#define	AF_APPLETALK	0x2
#define AF_ROUTE        0x3
#define AF_LINK			0x4
#define	AF_INET6		0x5
#define AF_IPX			0x7
#define AF_NOTIFY       0x8
#define	SOCK_STREAM	1
#define	SOCK_DGRAM	2
#define	SOCK_RAW	3
#define	SOCK_MISC	255


# from net/if_types.h
#define IFT_ETHER 0x6
#define IFT_LOOP 0x18
#define IFT_MODEM 0x30


#AF_INET

#from netinet/in.h:
#define IPPROTO_IP		0    /* dummy for setting IP level options */
#define IPPROTO_ICMP	1    /* control message protocol */
#define IPPROTO_IGMP	2    /* multicast group management protocol */
#define IPPROTO_TCP		6    /* transmission control protocol */
#define IPPROTO_UDP		17   /* user datagram protocol */
#define IPPROTO_IPV6	41   /* tunneled ipv6 */
#define IPPROTO_ICMPV6	58   /* tunneled icmpv6 */
#define IPPROTO_RAW		255  /* raw ip support */
#define IPPROTO_MAX		256

domains {
	1 AF_INET {
		out protos {
			1 SOCK_STREAM {
				0 bone_tcp bone_ipv4
				6 bone_tcp bone_ipv4
			}
			2 SOCK_DGRAM {
				0 bone_udp bone_ipv4
				1 bone_icmp bone_ipv4
				17 bone_udp bone_ipv4
			}
			3 SOCK_RAW {
				-1 bone_ipv4
			}
			255 SOCK_MISC {
				1 bone_dhcp bone_ipv4
			}
		}
	
		in protos {
			6	bone_tcp
			17	bone_udp
		}

		dl protos {
			6 IFT_ETHER {
				0 bone_arp framings/bone_ether_frame
				1 ppp/bone_pppoe framings/bone_ether_frame
			}
			18 IFT_LOOP {
				0 framings/bone_loop_frame
			}
			30 IFT_MODEM {
				0 ppp/bone_serial_ppp
			}
		}
	}

	4 AF_LINK {
		out protos {
			2 SOCK_DGRAM {
				0 bone_peeper
			}
			3 SOCK_RAW {
				0 bone_peeper
			}
		}
	}
	
	8 AF_NOTIFY {
		out protos {
			2 SOCK_DGRAM {
				0 bone_notify
			}
			3 SOCK_RAW {
				0 bone_notify
			}
		}	
	}
}
