4 #include <sys/socket.h>
9 #define AF_IPNS AF_NETBEUI
10 #define PF_IPNS AF_IPNS
12 #define IPN_BROADCAST 1
14 #define IPN_VDESWITCH 2
15 #define IPN_VDESWITCH_L3 3
17 #define IPN_SO_PREBIND 0x80
19 #define IPN_SO_DESCR 1
20 #define IPN_SO_MTU (IPN_SO_PREBIND | 0)
21 #define IPN_SO_NUMNODES (IPN_SO_PREBIND | 1)
22 #define IPN_SO_MSGPOOLSIZE (IPN_SO_PREBIND | 2)
23 #define IPN_SO_FLAGS (IPN_SO_PREBIND | 3)
24 #define IPN_SO_MODE (IPN_SO_PREBIND | 4)
26 #define IPN_PORTNO_ANY -1
28 #define IPN_DESCRLEN 32
30 #define IPN_FLAG_LOSSLESS 1
33 struct sockaddr_un sun
={.sun_family
=AF_IPN
,.sun_path
="/tmp/sockipn"};
36 int s
=socket(AF_IPN
,SOCK_RAW
,IPN_BROADCAST
);
39 int flags
=IPN_FLAG_LOSSLESS
;
43 s
=socket(AF_IPNS
,SOCK_RAW
,IPN_BROADCAST
);
49 err
=setsockopt(s
,0,IPN_SO_FLAGS
,&flags
,sizeof(flags
));
52 err
=setsockopt(s
,0,IPN_SO_MSGPOOLSIZE
,&size
,sizeof(size
));
56 err
=setsockopt(s
,0,IPN_SO_MODE
,&mode
,sizeof(mode
));
59 err
=bind(s
,(struct sockaddr
*)&sun
,sizeof(sun
));
62 err
=connect(s
,NULL
,0);
65 while ((len
=read(0,buf
,256)) > 0) {