Linux Kernel
3.7.1
|
#include <asm/socket.h>
#include <linux/sockios.h>
#include <linux/uio.h>
#include <linux/types.h>
#include <linux/compiler.h>
#include <uapi/linux/socket.h>
Go to the source code of this file.
Data Structures | |
struct | sockaddr |
struct | linger |
struct | msghdr |
struct | mmsghdr |
struct | cmsghdr |
struct | ucred |
Macros | |
#define | __sockaddr_check_size(size) BUILD_BUG_ON(((size) > sizeof(struct __kernel_sockaddr_storage))) |
#define | sockaddr_storage __kernel_sockaddr_storage |
#define | __CMSG_NXTHDR(ctl, len, cmsg) __cmsg_nxthdr((ctl),(len),(cmsg)) |
#define | CMSG_NXTHDR(mhdr, cmsg) cmsg_nxthdr((mhdr), (cmsg)) |
#define | CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) ) |
#define | CMSG_DATA(cmsg) ((void *)((char *)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr)))) |
#define | CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len)) |
#define | CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len)) |
#define | __CMSG_FIRSTHDR(ctl, len) |
#define | CMSG_FIRSTHDR(msg) __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen) |
#define | CMSG_OK(mhdr, cmsg) |
#define | SCM_RIGHTS 0x01 /* rw: access rights (array of int) */ |
#define | SCM_CREDENTIALS 0x02 /* rw: struct ucred */ |
#define | SCM_SECURITY 0x03 /* rw: security label */ |
#define | AF_UNSPEC 0 |
#define | AF_UNIX 1 /* Unix domain sockets */ |
#define | AF_LOCAL 1 /* POSIX name for AF_UNIX */ |
#define | AF_INET 2 /* Internet IP Protocol */ |
#define | AF_AX25 3 /* Amateur Radio AX.25 */ |
#define | AF_IPX 4 /* Novell IPX */ |
#define | AF_APPLETALK 5 /* AppleTalk DDP */ |
#define | AF_NETROM 6 /* Amateur Radio NET/ROM */ |
#define | AF_BRIDGE 7 /* Multiprotocol bridge */ |
#define | AF_ATMPVC 8 /* ATM PVCs */ |
#define | AF_X25 9 /* Reserved for X.25 project */ |
#define | AF_INET6 10 /* IP version 6 */ |
#define | AF_ROSE 11 /* Amateur Radio X.25 PLP */ |
#define | AF_DECnet 12 /* Reserved for DECnet project */ |
#define | AF_NETBEUI 13 /* Reserved for 802.2LLC project*/ |
#define | AF_SECURITY 14 /* Security callback pseudo AF */ |
#define | AF_KEY 15 /* PF_KEY key management API */ |
#define | AF_NETLINK 16 |
#define | AF_ROUTE AF_NETLINK /* Alias to emulate 4.4BSD */ |
#define | AF_PACKET 17 /* Packet family */ |
#define | AF_ASH 18 /* Ash */ |
#define | AF_ECONET 19 /* Acorn Econet */ |
#define | AF_ATMSVC 20 /* ATM SVCs */ |
#define | AF_RDS 21 /* RDS sockets */ |
#define | AF_SNA 22 /* Linux SNA Project (nutters!) */ |
#define | AF_IRDA 23 /* IRDA sockets */ |
#define | AF_PPPOX 24 /* PPPoX sockets */ |
#define | AF_WANPIPE 25 /* Wanpipe API Sockets */ |
#define | AF_LLC 26 /* Linux LLC */ |
#define | AF_CAN 29 /* Controller Area Network */ |
#define | AF_TIPC 30 /* TIPC sockets */ |
#define | AF_BLUETOOTH 31 /* Bluetooth sockets */ |
#define | AF_IUCV 32 /* IUCV sockets */ |
#define | AF_RXRPC 33 /* RxRPC sockets */ |
#define | AF_ISDN 34 /* mISDN sockets */ |
#define | AF_PHONET 35 /* Phonet sockets */ |
#define | AF_IEEE802154 36 /* IEEE802154 sockets */ |
#define | AF_CAIF 37 /* CAIF sockets */ |
#define | AF_ALG 38 /* Algorithm sockets */ |
#define | AF_NFC 39 /* NFC sockets */ |
#define | AF_MAX 40 /* For now.. */ |
#define | PF_UNSPEC AF_UNSPEC |
#define | PF_UNIX AF_UNIX |
#define | PF_LOCAL AF_LOCAL |
#define | PF_INET AF_INET |
#define | PF_AX25 AF_AX25 |
#define | PF_IPX AF_IPX |
#define | PF_APPLETALK AF_APPLETALK |
#define | PF_NETROM AF_NETROM |
#define | PF_BRIDGE AF_BRIDGE |
#define | PF_ATMPVC AF_ATMPVC |
#define | PF_X25 AF_X25 |
#define | PF_INET6 AF_INET6 |
#define | PF_ROSE AF_ROSE |
#define | PF_DECnet AF_DECnet |
#define | PF_NETBEUI AF_NETBEUI |
#define | PF_SECURITY AF_SECURITY |
#define | PF_KEY AF_KEY |
#define | PF_NETLINK AF_NETLINK |
#define | PF_ROUTE AF_ROUTE |
#define | PF_PACKET AF_PACKET |
#define | PF_ASH AF_ASH |
#define | PF_ECONET AF_ECONET |
#define | PF_ATMSVC AF_ATMSVC |
#define | PF_RDS AF_RDS |
#define | PF_SNA AF_SNA |
#define | PF_IRDA AF_IRDA |
#define | PF_PPPOX AF_PPPOX |
#define | PF_WANPIPE AF_WANPIPE |
#define | PF_LLC AF_LLC |
#define | PF_CAN AF_CAN |
#define | PF_TIPC AF_TIPC |
#define | PF_BLUETOOTH AF_BLUETOOTH |
#define | PF_IUCV AF_IUCV |
#define | PF_RXRPC AF_RXRPC |
#define | PF_ISDN AF_ISDN |
#define | PF_PHONET AF_PHONET |
#define | PF_IEEE802154 AF_IEEE802154 |
#define | PF_CAIF AF_CAIF |
#define | PF_ALG AF_ALG |
#define | PF_NFC AF_NFC |
#define | PF_MAX AF_MAX |
#define | SOMAXCONN 128 |
#define | MSG_OOB 1 |
#define | MSG_PEEK 2 |
#define | MSG_DONTROUTE 4 |
#define | MSG_TRYHARD 4 /* Synonym for MSG_DONTROUTE for DECnet */ |
#define | MSG_CTRUNC 8 |
#define | MSG_PROBE 0x10 /* Do not send. Only probe path f.e. for MTU */ |
#define | MSG_TRUNC 0x20 |
#define | MSG_DONTWAIT 0x40 /* Nonblocking io */ |
#define | MSG_EOR 0x80 /* End of record */ |
#define | MSG_WAITALL 0x100 /* Wait for a full request */ |
#define | MSG_FIN 0x200 |
#define | MSG_SYN 0x400 |
#define | MSG_CONFIRM 0x800 /* Confirm path validity */ |
#define | MSG_RST 0x1000 |
#define | MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */ |
#define | MSG_NOSIGNAL 0x4000 /* Do not generate SIGPIPE */ |
#define | MSG_MORE 0x8000 /* Sender will send more */ |
#define | MSG_WAITFORONE 0x10000 /* recvmmsg(): block until 1+ packets avail */ |
#define | MSG_SENDPAGE_NOTLAST 0x20000 /* sendpage() internal : not the last page */ |
#define | MSG_EOF MSG_FIN |
#define | MSG_FASTOPEN 0x20000000 /* Send data in TCP SYN */ |
#define | MSG_CMSG_CLOEXEC |
#define | MSG_CMSG_COMPAT 0 /* We never have 32 bit fixups */ |
#define | SOL_IP 0 |
#define | SOL_TCP 6 |
#define | SOL_UDP 17 |
#define | SOL_IPV6 41 |
#define | SOL_ICMPV6 58 |
#define | SOL_SCTP 132 |
#define | SOL_UDPLITE 136 /* UDP-Lite (RFC 3828) */ |
#define | SOL_RAW 255 |
#define | SOL_IPX 256 |
#define | SOL_AX25 257 |
#define | SOL_ATALK 258 |
#define | SOL_NETROM 259 |
#define | SOL_ROSE 260 |
#define | SOL_DECNET 261 |
#define | SOL_X25 262 |
#define | SOL_PACKET 263 |
#define | SOL_ATM 264 /* ATM layer (cell level) */ |
#define | SOL_AAL 265 /* ATM Adaption Layer (packet level) */ |
#define | SOL_IRDA 266 |
#define | SOL_NETBEUI 267 |
#define | SOL_LLC 268 |
#define | SOL_DCCP 269 |
#define | SOL_NETLINK 270 |
#define | SOL_TIPC 271 |
#define | SOL_RXRPC 272 |
#define | SOL_PPPOL2TP 273 |
#define | SOL_BLUETOOTH 274 |
#define | SOL_PNPIPE 275 |
#define | SOL_RDS 276 |
#define | SOL_IUCV 277 |
#define | SOL_CAIF 278 |
#define | SOL_ALG 279 |
#define | IPX_TYPE 1 |
Typedefs | |
typedef __kernel_sa_family_t | sa_family_t |
#define __sockaddr_check_size | ( | size | ) | BUILD_BUG_ON(((size) > sizeof(struct __kernel_sockaddr_storage))) |
#define AF_CAN 29 /* Controller Area Network */ |
#define AF_ROUTE AF_NETLINK /* Alias to emulate 4.4BSD */ |
#define CMSG_FIRSTHDR | ( | msg | ) | __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen) |
#define CMSG_NXTHDR | ( | mhdr, | |
cmsg | |||
) | cmsg_nxthdr((mhdr), (cmsg)) |
#define CMSG_OK | ( | mhdr, | |
cmsg | |||
) |
#define CMSG_SPACE | ( | len | ) | (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len)) |
#define MSG_CMSG_CLOEXEC |
#define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */ |
#define MSG_PROBE 0x10 /* Do not send. Only probe path f.e. for MTU */ |
#define MSG_SENDPAGE_NOTLAST 0x20000 /* sendpage() internal : not the last page */ |
#define MSG_TRYHARD 4 /* Synonym for MSG_DONTROUTE for DECnet */ |
#define MSG_WAITFORONE 0x10000 /* recvmmsg(): block until 1+ packets avail */ |
#define PF_APPLETALK AF_APPLETALK |
#define PF_BLUETOOTH AF_BLUETOOTH |
#define PF_IEEE802154 AF_IEEE802154 |
#define PF_NETBEUI AF_NETBEUI |
#define PF_NETLINK AF_NETLINK |
#define PF_SECURITY AF_SECURITY |
#define PF_WANPIPE AF_WANPIPE |
#define SCM_RIGHTS 0x01 /* rw: access rights (array of int) */ |
#define sockaddr_storage __kernel_sockaddr_storage |
typedef __kernel_sa_family_t sa_family_t |
move_addr_to_kernel - copy a socket address into kernel space : Address in user space : Address in kernel space : Length in user space
The address is copied into kernel space. If the provided address is too long an error code of -EINVAL is returned. If the copy gives invalid addresses -EFAULT is returned. On a success 0 is returned.