diff options
Diffstat (limited to 'include/linux/socket.h')
| -rw-r--r-- | include/linux/socket.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/include/linux/socket.h b/include/linux/socket.h index 7b3aae2052a6..edbb1d07ddf4 100644 --- a/include/linux/socket.h +++ b/include/linux/socket.h | |||
| @@ -24,15 +24,16 @@ struct __kernel_sockaddr_storage { | |||
| 24 | #include <linux/types.h> /* pid_t */ | 24 | #include <linux/types.h> /* pid_t */ |
| 25 | #include <linux/compiler.h> /* __user */ | 25 | #include <linux/compiler.h> /* __user */ |
| 26 | 26 | ||
| 27 | struct pid; | ||
| 28 | struct cred; | ||
| 29 | |||
| 27 | #define __sockaddr_check_size(size) \ | 30 | #define __sockaddr_check_size(size) \ |
| 28 | BUILD_BUG_ON(((size) > sizeof(struct __kernel_sockaddr_storage))) | 31 | BUILD_BUG_ON(((size) > sizeof(struct __kernel_sockaddr_storage))) |
| 29 | 32 | ||
| 30 | #ifdef __KERNEL__ | 33 | #ifdef CONFIG_PROC_FS |
| 31 | # ifdef CONFIG_PROC_FS | ||
| 32 | struct seq_file; | 34 | struct seq_file; |
| 33 | extern void socket_seq_show(struct seq_file *seq); | 35 | extern void socket_seq_show(struct seq_file *seq); |
| 34 | # endif | 36 | #endif |
| 35 | #endif /* __KERNEL__ */ | ||
| 36 | 37 | ||
| 37 | typedef unsigned short sa_family_t; | 38 | typedef unsigned short sa_family_t; |
| 38 | 39 | ||
| @@ -189,7 +190,9 @@ struct ucred { | |||
| 189 | #define AF_ISDN 34 /* mISDN sockets */ | 190 | #define AF_ISDN 34 /* mISDN sockets */ |
| 190 | #define AF_PHONET 35 /* Phonet sockets */ | 191 | #define AF_PHONET 35 /* Phonet sockets */ |
| 191 | #define AF_IEEE802154 36 /* IEEE802154 sockets */ | 192 | #define AF_IEEE802154 36 /* IEEE802154 sockets */ |
| 192 | #define AF_MAX 37 /* For now.. */ | 193 | #define AF_CAIF 37 /* CAIF sockets */ |
| 194 | #define AF_ALG 38 /* Algorithm sockets */ | ||
| 195 | #define AF_MAX 39 /* For now.. */ | ||
| 193 | 196 | ||
| 194 | /* Protocol families, same as address families. */ | 197 | /* Protocol families, same as address families. */ |
| 195 | #define PF_UNSPEC AF_UNSPEC | 198 | #define PF_UNSPEC AF_UNSPEC |
| @@ -229,6 +232,8 @@ struct ucred { | |||
| 229 | #define PF_ISDN AF_ISDN | 232 | #define PF_ISDN AF_ISDN |
| 230 | #define PF_PHONET AF_PHONET | 233 | #define PF_PHONET AF_PHONET |
| 231 | #define PF_IEEE802154 AF_IEEE802154 | 234 | #define PF_IEEE802154 AF_IEEE802154 |
| 235 | #define PF_CAIF AF_CAIF | ||
| 236 | #define PF_ALG AF_ALG | ||
| 232 | #define PF_MAX AF_MAX | 237 | #define PF_MAX AF_MAX |
| 233 | 238 | ||
| 234 | /* Maximum queue length specifiable by listen. */ | 239 | /* Maximum queue length specifiable by listen. */ |
| @@ -255,6 +260,7 @@ struct ucred { | |||
| 255 | #define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */ | 260 | #define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */ |
| 256 | #define MSG_NOSIGNAL 0x4000 /* Do not generate SIGPIPE */ | 261 | #define MSG_NOSIGNAL 0x4000 /* Do not generate SIGPIPE */ |
| 257 | #define MSG_MORE 0x8000 /* Sender will send more */ | 262 | #define MSG_MORE 0x8000 /* Sender will send more */ |
| 263 | #define MSG_WAITFORONE 0x10000 /* recvmmsg(): block until 1+ packets avail */ | ||
| 258 | 264 | ||
| 259 | #define MSG_EOF MSG_FIN | 265 | #define MSG_EOF MSG_FIN |
| 260 | 266 | ||
| @@ -300,11 +306,14 @@ struct ucred { | |||
| 300 | #define SOL_PNPIPE 275 | 306 | #define SOL_PNPIPE 275 |
| 301 | #define SOL_RDS 276 | 307 | #define SOL_RDS 276 |
| 302 | #define SOL_IUCV 277 | 308 | #define SOL_IUCV 277 |
| 309 | #define SOL_CAIF 278 | ||
| 310 | #define SOL_ALG 279 | ||
| 303 | 311 | ||
| 304 | /* IPX options */ | 312 | /* IPX options */ |
| 305 | #define IPX_TYPE 1 | 313 | #define IPX_TYPE 1 |
| 306 | 314 | ||
| 307 | #ifdef __KERNEL__ | 315 | extern void cred_to_ucred(struct pid *pid, const struct cred *cred, struct ucred *ucred); |
| 316 | |||
| 308 | extern int memcpy_fromiovec(unsigned char *kdata, struct iovec *iov, int len); | 317 | extern int memcpy_fromiovec(unsigned char *kdata, struct iovec *iov, int len); |
| 309 | extern int memcpy_fromiovecend(unsigned char *kdata, const struct iovec *iov, | 318 | extern int memcpy_fromiovecend(unsigned char *kdata, const struct iovec *iov, |
| 310 | int offset, int len); | 319 | int offset, int len); |
| @@ -317,7 +326,6 @@ extern int verify_iovec(struct msghdr *m, struct iovec *iov, struct sockaddr *ad | |||
| 317 | extern int memcpy_toiovec(struct iovec *v, unsigned char *kdata, int len); | 326 | extern int memcpy_toiovec(struct iovec *v, unsigned char *kdata, int len); |
| 318 | extern int memcpy_toiovecend(const struct iovec *v, unsigned char *kdata, | 327 | extern int memcpy_toiovecend(const struct iovec *v, unsigned char *kdata, |
| 319 | int offset, int len); | 328 | int offset, int len); |
| 320 | extern int move_addr_to_user(struct sockaddr *kaddr, int klen, void __user *uaddr, int __user *ulen); | ||
| 321 | extern int move_addr_to_kernel(void __user *uaddr, int ulen, struct sockaddr *kaddr); | 329 | extern int move_addr_to_kernel(void __user *uaddr, int ulen, struct sockaddr *kaddr); |
| 322 | extern int put_cmsg(struct msghdr*, int level, int type, int len, void *data); | 330 | extern int put_cmsg(struct msghdr*, int level, int type, int len, void *data); |
| 323 | 331 | ||
| @@ -325,6 +333,5 @@ struct timespec; | |||
| 325 | 333 | ||
| 326 | extern int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen, | 334 | extern int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen, |
| 327 | unsigned int flags, struct timespec *timeout); | 335 | unsigned int flags, struct timespec *timeout); |
| 328 | #endif | ||
| 329 | #endif /* not kernel and not glibc */ | 336 | #endif /* not kernel and not glibc */ |
| 330 | #endif /* _LINUX_SOCKET_H */ | 337 | #endif /* _LINUX_SOCKET_H */ |
