compat.h: Add if_ether.h symbols for older kernels.
[trinity.git] / net / decnet.c
blob65306950f81027bcc1151b3fd1de6efc173b8a8c
1 #include <sys/types.h>
2 #include <sys/socket.h>
3 #include <sys/un.h>
4 #include <netinet/in.h>
5 #include <linux/dn.h>
6 #include <stdlib.h>
7 #include "net.h"
8 #include "random.h"
10 void decnet_gen_sockaddr(unsigned long *addr, unsigned long *addrlen)
12 struct sockaddr_dn *dn;
13 unsigned int i;
15 dn = malloc(sizeof(struct sockaddr_dn));
16 if (dn == NULL)
17 return;
19 dn->sdn_family = PF_DECnet;
20 dn->sdn_flags = rand();
21 dn->sdn_objnum = rand();
22 dn->sdn_objnamel = rand() % 16;
23 for (i = 0; i < dn->sdn_objnamel; i++)
24 dn->sdn_objname[i] = rand();
25 dn->sdn_add.a_len = rand() % 2;
26 dn->sdn_add.a_addr[0] = rand();
27 dn->sdn_add.a_addr[1] = rand();
28 *addr = (unsigned long) dn;
29 *addrlen = sizeof(struct sockaddr_dn);
32 void decnet_rand_socket(struct socket_triplet *st)
34 if (rand_bool()) {
35 st->type = SOCK_SEQPACKET;
36 st->protocol = DNPROTO_NSP;
37 } else {
38 st->type = SOCK_STREAM;
39 st->protocol = rand() % PROTO_MAX;