924e327bc460e0903c4649cb6adb2cc2bb56adb5
[platform/core/system/edge-orchestration.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         "syscall"
9         "unsafe"
10 )
11
12 func probeProtocolStack() int {
13         var p uintptr
14         return int(unsafe.Sizeof(p))
15 }
16
17 const (
18         sysAF_UNSPEC = 0x0
19         sysAF_INET   = 0x2
20         sysAF_INET6  = 0x17
21
22         sysSOCK_RAW = 0x3
23 )
24
25 type sockaddrInet struct {
26         Family uint16
27         Port   uint16
28         Addr   [4]byte /* in_addr */
29         Zero   [8]uint8
30 }
31
32 type sockaddrInet6 struct {
33         Family   uint16
34         Port     uint16
35         Flowinfo uint32
36         Addr     [16]byte /* in6_addr */
37         Scope_id uint32
38 }
39
40 const (
41         sizeofSockaddrInet  = 0x10
42         sizeofSockaddrInet6 = 0x1c
43 )
44
45 func getsockopt(s uintptr, level, name int, b []byte) (int, error) {
46         l := uint32(len(b))
47         err := syscall.Getsockopt(syscall.Handle(s), int32(level), int32(name), (*byte)(unsafe.Pointer(&b[0])), (*int32)(unsafe.Pointer(&l)))
48         return int(l), err
49 }
50
51 func setsockopt(s uintptr, level, name int, b []byte) error {
52         return syscall.Setsockopt(syscall.Handle(s), int32(level), int32(name), (*byte)(unsafe.Pointer(&b[0])), int32(len(b)))
53 }
54
55 func recvmsg(s uintptr, h *msghdr, flags int) (int, error) {
56         return 0, errNotImplemented
57 }
58
59 func sendmsg(s uintptr, h *msghdr, flags int) (int, error) {
60         return 0, errNotImplemented
61 }
62
63 func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) {
64         return 0, errNotImplemented
65 }
66
67 func sendmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) {
68         return 0, errNotImplemented
69 }