Split the vSockets header into kernel and UAPI parts. The former gets the bits that used to be in __KERNEL__ guards, while the latter gets everything that is user-visible. Tested by compiling vsock (+transport) and a simple user-mode vSockets application.
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -13,12 +13,10 @@ · 12 unmodified lines | ||
| 13 | 13 | * more details. |
| 14 | 14 | */ |
| 15 | 15 | |
| 16 | −#ifndef _VM_SOCKETS_H_ | |
| 17 | −#define _VM_SOCKETS_H_ | |
| 16 | +#ifndef _UAPI_VM_SOCKETS_H | |
| 17 | +#define _UAPI_VM_SOCKETS_H | |
| 18 | 18 | |
| 19 | −#if !defined(__KERNEL__) | |
| 20 | −#include <sys/socket.h> | |
| 21 | −#endif | |
| 19 | +#include <linux/socket.h> | |
| 22 | 20 | |
| 23 | 21 | /* Option name for STREAM socket buffer size. Use as the option name in |
| 24 | 22 | * setsockopt(3) or getsockopt(3) to set or get an unsigned long long that |
| @@ -137,14 +135,13 @@ · 112 unmodified lines | ||
| 137 | 135 | #define VM_SOCKETS_VERSION_MINOR(_v) (((_v) & 0x0000FFFF)) |
| 138 | 136 | |
| 139 | 137 | /* Address structure for vSockets. The address family should be set to |
| 140 | − * whatever vmci_sock_get_af_value_fd() returns. The structure members should | |
| 141 | − * all align on their natural boundaries without resorting to compiler packing | |
| 142 | − * directives. The total size of this structure should be exactly the same as | |
| 143 | − * that of struct sockaddr. | |
| 138 | + * AF_VSOCK. The structure members should all align on their natural | |
| 139 | + * boundaries without resorting to compiler packing directives. The total size | |
| 140 | + * of this structure should be exactly the same as that of struct sockaddr. | |
| 144 | 141 | */ |
| 145 | 142 | |
| 146 | 143 | struct sockaddr_vm { |
| 147 | − sa_family_t svm_family; | |
| 144 | + __kernel_sa_family_t svm_family; | |
| 148 | 145 | unsigned short svm_reserved1; |
| 149 | 146 | unsigned int svm_port; |
| 150 | 147 | unsigned int svm_cid; |
| @@ -156,8 +153,4 @@ struct sockaddr_vm { · 5 unmodified lines | ||
| 156 | 153 | |
| 157 | 154 | #define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9) |
| 158 | 155 | |
| 159 | −#if defined(__KERNEL__) | |
| 160 | −int vm_sockets_get_local_cid(void); | |
| 161 | −#endif | |
| 162 | − | |
| 163 | −#endif | |
| 156 | +#endif /* _UAPI_VM_SOCKETS_H */ | |