[backport] run nimpretty on the remaining files
This commit is contained in:
parent
34d0be2ec1
commit
5732bb41ef
13 changed files with 457 additions and 414 deletions
|
|
@ -47,16 +47,17 @@ when defined(macosx) and not defined(nimdoc):
|
|||
export SO_NOSIGPIPE
|
||||
|
||||
type
|
||||
Port* = distinct uint16 ## port type
|
||||
Port* = distinct uint16 ## port type
|
||||
|
||||
Domain* = enum ## domain, which specifies the protocol family of the
|
||||
## created socket. Other domains than those that are listed
|
||||
## here are unsupported.
|
||||
AF_UNSPEC = 0, ## unspecified domain (can be detected automatically by
|
||||
## some procedures, such as getaddrinfo)
|
||||
AF_UNIX = 1, ## for local socket (using a file). Unsupported on Windows.
|
||||
AF_INET = 2, ## for network protocol IPv4 or
|
||||
AF_INET6 = when defined(macosx): 30 else: 23 ## for network protocol IPv6.
|
||||
Domain* = enum ## \
|
||||
## domain, which specifies the protocol family of the
|
||||
## created socket. Other domains than those that are listed
|
||||
## here are unsupported.
|
||||
AF_UNSPEC = 0, ## unspecified domain (can be detected automatically by
|
||||
## some procedures, such as getaddrinfo)
|
||||
AF_UNIX = 1, ## for local socket (using a file). Unsupported on Windows.
|
||||
AF_INET = 2, ## for network protocol IPv4 or
|
||||
AF_INET6 = when defined(macosx): 30 else: 23 ## for network protocol IPv6.
|
||||
|
||||
SockType* = enum ## second argument to `socket` proc
|
||||
SOCK_STREAM = 1, ## reliable stream-oriented service or Stream Sockets
|
||||
|
|
@ -64,14 +65,14 @@ type
|
|||
SOCK_RAW = 3, ## raw protocols atop the network layer.
|
||||
SOCK_SEQPACKET = 5 ## reliable sequenced packet service
|
||||
|
||||
Protocol* = enum ## third argument to `socket` proc
|
||||
IPPROTO_TCP = 6, ## Transmission control protocol.
|
||||
IPPROTO_UDP = 17, ## User datagram protocol.
|
||||
IPPROTO_IP, ## Internet protocol. Unsupported on Windows.
|
||||
IPPROTO_IPV6, ## Internet Protocol Version 6. Unsupported on Windows.
|
||||
IPPROTO_RAW, ## Raw IP Packets Protocol. Unsupported on Windows.
|
||||
IPPROTO_ICMP ## Control message protocol. Unsupported on Windows.
|
||||
IPPROTO_ICMPV6 ## Control message protocol for IPv6. Unsupported on Windows.
|
||||
Protocol* = enum ## third argument to `socket` proc
|
||||
IPPROTO_TCP = 6, ## Transmission control protocol.
|
||||
IPPROTO_UDP = 17, ## User datagram protocol.
|
||||
IPPROTO_IP, ## Internet protocol. Unsupported on Windows.
|
||||
IPPROTO_IPV6, ## Internet Protocol Version 6. Unsupported on Windows.
|
||||
IPPROTO_RAW, ## Raw IP Packets Protocol. Unsupported on Windows.
|
||||
IPPROTO_ICMP ## Control message protocol. Unsupported on Windows.
|
||||
IPPROTO_ICMPV6 ## Control message protocol for IPv6. Unsupported on Windows.
|
||||
|
||||
Servent* = object ## information about a service
|
||||
name*: string
|
||||
|
|
@ -94,7 +95,7 @@ when useWinVersion:
|
|||
IOCPARM_MASK* = 127
|
||||
IOC_IN* = int(-2147483648)
|
||||
FIONBIO* = IOC_IN.int32 or ((sizeof(int32) and IOCPARM_MASK) shl 16) or
|
||||
(102 shl 8) or 126
|
||||
(102 shl 8) or 126
|
||||
nativeAfInet = winlean.AF_INET
|
||||
nativeAfInet6 = winlean.AF_INET6
|
||||
|
||||
|
|
@ -126,36 +127,36 @@ proc toInt*(p: Protocol): cint
|
|||
when not useWinVersion:
|
||||
proc toInt(domain: Domain): cint =
|
||||
case domain
|
||||
of AF_UNSPEC: result = posix.AF_UNSPEC.cint
|
||||
of AF_UNIX: result = posix.AF_UNIX.cint
|
||||
of AF_INET: result = posix.AF_INET.cint
|
||||
of AF_INET6: result = posix.AF_INET6.cint
|
||||
of AF_UNSPEC: result = posix.AF_UNSPEC.cint
|
||||
of AF_UNIX: result = posix.AF_UNIX.cint
|
||||
of AF_INET: result = posix.AF_INET.cint
|
||||
of AF_INET6: result = posix.AF_INET6.cint
|
||||
|
||||
proc toKnownDomain*(family: cint): Option[Domain] =
|
||||
## Converts the platform-dependent ``cint`` to the Domain or none(),
|
||||
## if the ``cint`` is not known.
|
||||
result = if family == posix.AF_UNSPEC: some(Domain.AF_UNSPEC)
|
||||
elif family == posix.AF_UNIX: some(Domain.AF_UNIX)
|
||||
elif family == posix.AF_INET: some(Domain.AF_INET)
|
||||
elif family == posix.AF_INET6: some(Domain.AF_INET6)
|
||||
result = if family == posix.AF_UNSPEC: some(Domain.AF_UNSPEC)
|
||||
elif family == posix.AF_UNIX: some(Domain.AF_UNIX)
|
||||
elif family == posix.AF_INET: some(Domain.AF_INET)
|
||||
elif family == posix.AF_INET6: some(Domain.AF_INET6)
|
||||
else: none(Domain)
|
||||
|
||||
proc toInt(typ: SockType): cint =
|
||||
case typ
|
||||
of SOCK_STREAM: result = posix.SOCK_STREAM
|
||||
of SOCK_DGRAM: result = posix.SOCK_DGRAM
|
||||
of SOCK_STREAM: result = posix.SOCK_STREAM
|
||||
of SOCK_DGRAM: result = posix.SOCK_DGRAM
|
||||
of SOCK_SEQPACKET: result = posix.SOCK_SEQPACKET
|
||||
of SOCK_RAW: result = posix.SOCK_RAW
|
||||
of SOCK_RAW: result = posix.SOCK_RAW
|
||||
|
||||
proc toInt(p: Protocol): cint =
|
||||
case p
|
||||
of IPPROTO_TCP: result = posix.IPPROTO_TCP
|
||||
of IPPROTO_UDP: result = posix.IPPROTO_UDP
|
||||
of IPPROTO_IP: result = posix.IPPROTO_IP
|
||||
of IPPROTO_IPV6: result = posix.IPPROTO_IPV6
|
||||
of IPPROTO_RAW: result = posix.IPPROTO_RAW
|
||||
of IPPROTO_ICMP: result = posix.IPPROTO_ICMP
|
||||
of IPPROTO_ICMPV6: result = posix.IPPROTO_ICMPV6
|
||||
of IPPROTO_TCP: result = posix.IPPROTO_TCP
|
||||
of IPPROTO_UDP: result = posix.IPPROTO_UDP
|
||||
of IPPROTO_IP: result = posix.IPPROTO_IP
|
||||
of IPPROTO_IPV6: result = posix.IPPROTO_IPV6
|
||||
of IPPROTO_RAW: result = posix.IPPROTO_RAW
|
||||
of IPPROTO_ICMP: result = posix.IPPROTO_ICMP
|
||||
of IPPROTO_ICMPV6: result = posix.IPPROTO_ICMPV6
|
||||
|
||||
else:
|
||||
proc toInt(domain: Domain): cint =
|
||||
|
|
@ -164,9 +165,9 @@ else:
|
|||
proc toKnownDomain*(family: cint): Option[Domain] =
|
||||
## Converts the platform-dependent ``cint`` to the Domain or none(),
|
||||
## if the ``cint`` is not known.
|
||||
result = if family == winlean.AF_UNSPEC: some(Domain.AF_UNSPEC)
|
||||
elif family == winlean.AF_INET: some(Domain.AF_INET)
|
||||
elif family == winlean.AF_INET6: some(Domain.AF_INET6)
|
||||
result = if family == winlean.AF_UNSPEC: some(Domain.AF_UNSPEC)
|
||||
elif family == winlean.AF_INET: some(Domain.AF_INET)
|
||||
elif family == winlean.AF_INET6: some(Domain.AF_INET6)
|
||||
else: none(Domain)
|
||||
|
||||
proc toInt(typ: SockType): cint =
|
||||
|
|
@ -223,10 +224,12 @@ proc close*(socket: SocketHandle) =
|
|||
# TODO: These values should not be discarded. An OSError should be raised.
|
||||
# http://stackoverflow.com/questions/12463473/what-happens-if-you-call-close-on-a-bsd-socket-multiple-times
|
||||
|
||||
proc bindAddr*(socket: SocketHandle, name: ptr SockAddr, namelen: SockLen): cint =
|
||||
proc bindAddr*(socket: SocketHandle, name: ptr SockAddr,
|
||||
namelen: SockLen): cint =
|
||||
result = bindSocket(socket, name, namelen)
|
||||
|
||||
proc listen*(socket: SocketHandle, backlog = SOMAXCONN): cint {.tags: [ReadIOEffect].} =
|
||||
proc listen*(socket: SocketHandle, backlog = SOMAXCONN): cint {.tags: [
|
||||
ReadIOEffect].} =
|
||||
## Marks ``socket`` as accepting connections.
|
||||
## ``Backlog`` specifies the maximum length of the
|
||||
## queue of pending connections.
|
||||
|
|
@ -250,7 +253,8 @@ proc getAddrInfo*(address: string, port: Port, domain: Domain = AF_INET,
|
|||
# FreeBSD, Haiku don't support AI_V4MAPPED but defines the macro.
|
||||
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198092
|
||||
# https://dev.haiku-os.org/ticket/14323
|
||||
when not defined(freebsd) and not defined(openbsd) and not defined(netbsd) and not defined(android) and not defined(haiku):
|
||||
when not defined(freebsd) and not defined(openbsd) and not defined(netbsd) and
|
||||
not defined(android) and not defined(haiku):
|
||||
if domain == AF_INET6:
|
||||
hints.ai_flags = AI_V4MAPPED
|
||||
let socketPort = if sockType == SOCK_RAW: "" else: $port
|
||||
|
|
@ -267,9 +271,9 @@ proc ntohl*(x: uint32): uint32 =
|
|||
## this is a no-op; otherwise, it performs a 4-byte swap operation.
|
||||
when cpuEndian == bigEndian: result = x
|
||||
else: result = (x shr 24'u32) or
|
||||
(x shr 8'u32 and 0xff00'u32) or
|
||||
(x shl 8'u32 and 0xff0000'u32) or
|
||||
(x shl 24'u32)
|
||||
(x shr 8'u32 and 0xff00'u32) or
|
||||
(x shl 8'u32 and 0xff0000'u32) or
|
||||
(x shl 24'u32)
|
||||
|
||||
proc ntohs*(x: uint16): uint16 =
|
||||
## Converts 16-bit unsigned integers from network to host byte order. On
|
||||
|
|
@ -499,7 +503,7 @@ proc getLocalAddr*(socket: SocketHandle, domain: Domain): (string, Port) =
|
|||
# Cannot use INET6_ADDRSTRLEN here, because it's a C define.
|
||||
result[0] = newString(64)
|
||||
if inet_ntop(name.sin6_family.cint,
|
||||
addr name.sin6_addr, addr result[0][0], (result[0].len+1).int32).isNil:
|
||||
addr name.sin6_addr, addr result[0][0], (result[0].len+1).int32).isNil:
|
||||
raiseOSError(osLastError())
|
||||
setLen(result[0], result[0].cstring.len)
|
||||
result[1] = Port(nativesockets.ntohs(name.sin6_port))
|
||||
|
|
@ -536,7 +540,7 @@ proc getPeerAddr*(socket: SocketHandle, domain: Domain): (string, Port) =
|
|||
# Cannot use INET6_ADDRSTRLEN here, because it's a C define.
|
||||
result[0] = newString(64)
|
||||
if inet_ntop(name.sin6_family.cint,
|
||||
addr name.sin6_addr, addr result[0][0], (result[0].len+1).int32).isNil:
|
||||
addr name.sin6_addr, addr result[0][0], (result[0].len+1).int32).isNil:
|
||||
raiseOSError(osLastError())
|
||||
setLen(result[0], result[0].cstring.len)
|
||||
result[1] = Port(nativesockets.ntohs(name.sin6_port))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue