mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
missing.h: add AF_VSOCK bits
Ubuntu 14.04 (Trusty) kernel header packages ship without <linux/vm_sockets.h>. Only struct sockaddr_vm and VMADDR_CID_ANY will be needed by systemd and they are simple enough to go in missing.h. CentOS 7 <sys/socket.h> does not define AF_VSOCK. Define it so the code can compile although actual socket(2) calls may fail at runtime if the address family isn't available.
This commit is contained in:
parent
6534c8d35f
commit
4e0399e69b
@ -285,6 +285,7 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
|
||||
AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])])
|
||||
AC_CHECK_HEADERS([linux/btrfs.h], [], [])
|
||||
AC_CHECK_HEADERS([linux/memfd.h], [], [])
|
||||
AC_CHECK_HEADERS([linux/vm_sockets.h], [], [], [#include <sys/socket.h>])
|
||||
|
||||
# unconditionally pull-in librt with old glibc versions
|
||||
AC_SEARCH_LIBS([clock_gettime], [rt], [], [])
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include <net/ethernet.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/resource.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <uchar.h>
|
||||
#include <unistd.h>
|
||||
@ -50,6 +51,23 @@
|
||||
#include <linux/btrfs.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LINUX_VM_SOCKETS_H
|
||||
#include <linux/vm_sockets.h>
|
||||
#else
|
||||
#define VMADDR_CID_ANY -1U
|
||||
struct sockaddr_vm {
|
||||
unsigned short svm_family;
|
||||
unsigned short svm_reserved1;
|
||||
unsigned int svm_port;
|
||||
unsigned int svm_cid;
|
||||
unsigned char svm_zero[sizeof(struct sockaddr) -
|
||||
sizeof(unsigned short) -
|
||||
sizeof(unsigned short) -
|
||||
sizeof(unsigned int) -
|
||||
sizeof(unsigned int)];
|
||||
};
|
||||
#endif /* !HAVE_LINUX_VM_SOCKETS_H */
|
||||
|
||||
#include "macro.h"
|
||||
|
||||
#ifndef RLIMIT_RTTIME
|
||||
@ -1163,4 +1181,8 @@ struct ethtool_link_settings {
|
||||
#define SOL_ALG 279
|
||||
#endif
|
||||
|
||||
#ifndef AF_VSOCK
|
||||
#define AF_VSOCK 40
|
||||
#endif
|
||||
|
||||
#include "missing_syscall.h"
|
||||
|
Loading…
x
Reference in New Issue
Block a user