public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
blob 8844b1edbe78294ae7a77eb546574d1004e0ea1b 1002 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
// SPDX-License-Identifier: GPL-2.0-or-later

/* common.h
 *
 * Useful shared functions
 *
 * Copyright Red Hat
 * Author: David Gibson <david@gibson.dropbear.id.au>
 */
#ifndef REUSEADDR_COMMON_H
#define REUSEADDR_COMMON_H

#include <stdarg.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>

static inline void die(const char *fmt, ...)
{
	va_list ap;

	va_start(ap, fmt);
	(void)vfprintf(stderr, fmt, ap);
	va_end(ap);
	exit(EXIT_FAILURE);
}

#if __BYTE_ORDER == __BIG_ENDIAN
#define htons_constant(x)       (x)
#define htonl_constant(x)       (x)
#else
#define htons_constant(x)       (__bswap_constant_16(x))
#define htonl_constant(x)       (__bswap_constant_32(x))
#endif

#define SOCKADDR_INIT(addr, port)					\
	{								\
		.sin_family = AF_INET,					\
		.sin_addr = { .s_addr = htonl_constant(addr) },		\
		.sin_port = htons_constant(port),			\
	}

int sock_reuseaddr(void);
void send_token(int s, long token);
bool recv_token(int s, long token);

#endif /* REUSEADDR_COMMON_H */

debug log:

solving 8844b1ed ...
found 8844b1ed in https://passt.top/passt

Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).