OSDN Git Service

new repo
[bytom/vapor.git] / vendor / golang.org / x / net / internal / socket / sys_windows.go
1 // Copyright 2017 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package socket
6
7 import (
8         "errors"
9         "syscall"
10         "unsafe"
11 )
12
13 func probeProtocolStack() int {
14         var p uintptr
15         return int(unsafe.Sizeof(p))
16 }
17
18 const (
19         sysAF_UNSPEC = 0x0
20         sysAF_INET   = 0x2
21         sysAF_INET6  = 0x17
22
23         sysSOCK_RAW = 0x3
24 )
25
26 type sockaddrInet struct {
27         Family uint16
28         Port   uint16
29         Addr   [4]byte /* in_addr */
30         Zero   [8]uint8
31 }
32
33 type sockaddrInet6 struct {
34         Family   uint16
35         Port     uint16
36         Flowinfo uint32
37         Addr     [16]byte /* in6_addr */
38         Scope_id uint32
39 }
40
41 const (
42         sizeofSockaddrInet  = 0x10
43         sizeofSockaddrInet6 = 0x1c
44 )
45
46 func getsockopt(s uintptr, level, name int, b []byte) (int, error) {
47         l := uint32(len(b))
48         err := syscall.Getsockopt(syscall.Handle(s), int32(level), int32(name), (*byte)(unsafe.Pointer(&b[0])), (*int32)(unsafe.Pointer(&l)))
49         return int(l), err
50 }
51
52 func setsockopt(s uintptr, level, name int, b []byte) error {
53         return syscall.Setsockopt(syscall.Handle(s), int32(level), int32(name), (*byte)(unsafe.Pointer(&b[0])), int32(len(b)))
54 }
55
56 func recvmsg(s uintptr, h *msghdr, flags int) (int, error) {
57         return 0, errors.New("not implemented")
58 }
59
60 func sendmsg(s uintptr, h *msghdr, flags int) (int, error) {
61         return 0, errors.New("not implemented")
62 }
63
64 func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) {
65         return 0, errors.New("not implemented")
66 }
67
68 func sendmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) {
69         return 0, errors.New("not implemented")
70 }