2 #include <sys/socket.h>
4 #include <netinet/in.h>
9 #include "utils.h" // ARRAY_SIZE
15 #include <linux/caif/caif_socket.h>
17 void caif_gen_sockaddr(struct sockaddr
**addr
, socklen_t
*addrlen
)
19 struct sockaddr_caif
*caif
;
22 caif
= malloc(sizeof(struct sockaddr_caif
));
26 caif
->family
= PF_CAIF
;
27 caif
->u
.at
.type
= rand();
28 for (i
= 0; i
< 16; i
++)
29 caif
->u
.util
.service
[i
] = rand();
30 caif
->u
.dgm
.connection_id
= rand();
31 caif
->u
.dgm
.nsapi
= rand();
32 caif
->u
.rfm
.connection_id
= rand();
33 for (i
= 0; i
< 16; i
++)
34 caif
->u
.rfm
.volume
[i
] = rand();
35 caif
->u
.dbg
.type
= rand();
36 caif
->u
.dbg
.service
= rand();
37 *addr
= (struct sockaddr
*) caif
;
38 *addrlen
= sizeof(struct sockaddr_caif
);
41 void caif_rand_socket(struct socket_triplet
*st
)
43 st
->protocol
= rand() % _CAIFPROTO_MAX
;
45 st
->type
= SOCK_SEQPACKET
;
47 st
->type
= SOCK_STREAM
;
50 static const unsigned int caif_opts
[] = { CAIFSO_LINK_SELECT
, CAIFSO_REQ_PARAM
};
51 #define NR_SOL_CAIF_OPTS ARRAY_SIZE(caif_opts)
53 void caif_setsockopt(struct sockopt
*so
)
59 val
= rand() % NR_SOL_CAIF_OPTS
;
60 so
->optname
= caif_opts
[val
];
63 /* stub if we are built on something without RDS headers */
64 void caif_setsockopt(struct sockopt
*so
)