Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1// SPDX-License-Identifier: GPL-2.0
2#include "aolib.h"
3#include <string.h>
4
5void randomize_buffer(void *buf, size_t buflen)
6{
7 int *p = (int *)buf;
8 size_t words = buflen / sizeof(int);
9 size_t leftover = buflen % sizeof(int);
10
11 if (!buflen)
12 return;
13
14 while (words--)
15 *p++ = rand();
16
17 if (leftover) {
18 int tmp = rand();
19
20 memcpy(buf + buflen - leftover, &tmp, leftover);
21 }
22}
23
24__printf(3, 4) int test_echo(const char *fname, bool append,
25 const char *fmt, ...)
26{
27 size_t len, written;
28 va_list vargs;
29 char *msg;
30 FILE *f;
31
32 f = fopen(fname, append ? "a" : "w");
33 if (!f)
34 return -errno;
35
36 va_start(vargs, fmt);
37 msg = test_snprintf(fmt, vargs);
38 va_end(vargs);
39 if (!msg) {
40 fclose(f);
41 return -1;
42 }
43 len = strlen(msg);
44 written = fwrite(msg, 1, len, f);
45 fclose(f);
46 free(msg);
47 return written == len ? 0 : -1;
48}
49
50const struct sockaddr_in6 addr_any6 = {
51 .sin6_family = AF_INET6,
52};
53
54const struct sockaddr_in addr_any4 = {
55 .sin_family = AF_INET,
56};