-
-
Category: includes
-
-
Hits: 1159
%ifndef __ASM_GENERIC_SOCKET_INC
%define __ASM_GENERIC_SOCKET_INC 1
%include "bits/sockios.inc"
%include "bits/socket_type.inc"
; For setsockopt(2)
%define SOL_SOCKET 1
%define SO_DEBUG 1
%define SO_REUSEADDR 2
%define SO_TYPE 3
%define SO_ERROR 4
%define SO_DONTROUTE 5
%define SO_BROADCAST 6
%define SO_SNDBUF 7
%define SO_RCVBUF 8
%define SO_SNDBUFFORCE 32
%define SO_RCVBUFFORCE 33
%define SO_KEEPALIVE 9
%define SO_OOBINLINE 10
%define SO_NO_CHECK 11
%define SO_PRIORITY 12
%define SO_LINGER 13
%define SO_BSDCOMPAT 14
%define SO_REUSEPORT 15
%ifndef SO_PASSCRED ; powerpc only differs in these
%define SO_PASSCRED 16
%define SO_PEERCRED 17
%define SO_RCVLOWAT 18
%define SO_SNDLOWAT 19
%define SO_RCVTIMEO 20
%define SO_SNDTIMEO 21
%endif
; Security levels - as per NRL IPv6 - don't actually do anything
%define SO_SECURITY_AUTHENTICATION 22
%define SO_SECURITY_ENCRYPTION_TRANSPORT 23
%define SO_SECURITY_ENCRYPTION_NETWORK 24
%define SO_BINDTODEVICE 25
; Socket filtering
%define SO_ATTACH_FILTER 26
%define SO_DETACH_FILTER 27
%define SO_GET_FILTER SO_ATTACH_FILTER
%define SO_PEERNAME 28
%define SO_TIMESTAMP 29
%define SCM_TIMESTAMP SO_TIMESTAMP
%define SO_ACCEPTCONN 30
%define SO_PEERSEC 31
%define SO_PASSSEC 34
%define SO_TIMESTAMPNS 35
%define SCM_TIMESTAMPNS SO_TIMESTAMPNS
%define SO_MARK 36
%define SO_TIMESTAMPING 37
%define SCM_TIMESTAMPING SO_TIMESTAMPING
%define SO_PROTOCOL 38
%define SO_DOMAIN 39
%define SO_RXQ_OVFL 40
%define SO_WIFI_STATUS 41
%define SCM_WIFI_STATUS SO_WIFI_STATUS
%define SO_PEEK_OFF 42
; Instruct lower device to use last 4-bytes of skb data as FCS
%define SO_NOFCS 43
%define SO_LOCK_FILTER 44
%define SO_SELECT_ERR_QUEUE 45
%define SO_BUSY_POLL 46
%define SO_MAX_PACING_RATE 47
%define AF_INET 2
%define AF_LOCAL 1
%define SOCK_STREAM 1
%define PF_INET 2
%define PF_LOCAL 1
%define IPPROTO_IP 0
%define IPPROTO_TCP 6
%define IPPROTO_UDP 17
%define INADDR_ANY 0
struc STRUC_SOCKETADDR_IN
.sin_family: resw 1
.sin_port: resw 1
.sin_addr: resd 1
.sin_pad: resb 8
endstruc
; SOCKETADDR_IN takes one mandatory parameter %1 which is the name of the data structure.
; The remaining refers to the family, port, addr and aren't mandatory. sin.pad is not used and is
; for padding bytes only
; When no values are given for family, port and addr then they defaults to zero.
%macro SOCKETADDR_IN 1-4 0,0,0
%1: istruc STRUC_SOCKETADDR_IN
at STRUC_SOCKETADDR_IN.sin_family, dw %2
at STRUC_SOCKETADDR_IN.sin_port, dw %3
at STRUC_SOCKETADDR_IN.sin_addr, dd %4
at STRUC_SOCKETADDR_IN.sin_pad, times 8 db 0
iend
%define %1.sin_family %1+STRUC_SOCKETADDR_IN.sin_family
%define %1.sin_port %1+STRUC_SOCKETADDR_IN.sin_port
%define %1.sin_addr %1+STRUC_SOCKETADDR_IN.sin_addr
%define %1.size STRUC_SOCKETADDR_IN_size
%endmacro
%endif ; __ASM_GENERIC_SOCKET_INC