| // Copyright 2015 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // +build !plan9 |
| |
| package socktest |
| |
| import ( |
| "fmt" |
| "syscall" |
| ) |
| |
| func familyString(family int) string { |
| switch family { |
| case syscall.AF_INET: |
| return "inet4" |
| case syscall.AF_INET6: |
| return "inet6" |
| case syscall.AF_UNIX: |
| return "local" |
| default: |
| return fmt.Sprintf("%d", family) |
| } |
| } |
| |
| func typeString(sotype int) string { |
| var s string |
| switch sotype & 0xff { |
| case syscall.SOCK_STREAM: |
| s = "stream" |
| case syscall.SOCK_DGRAM: |
| s = "datagram" |
| case syscall.SOCK_RAW: |
| s = "raw" |
| case syscall.SOCK_SEQPACKET: |
| s = "seqpacket" |
| default: |
| s = fmt.Sprintf("%d", sotype&0xff) |
| } |
| if flags := uint(sotype) & ^uint(0xff); flags != 0 { |
| s += fmt.Sprintf("|%#x", flags) |
| } |
| return s |
| } |
| |
| func protocolString(proto int) string { |
| switch proto { |
| case 0: |
| return "default" |
| case syscall.IPPROTO_TCP: |
| return "tcp" |
| case syscall.IPPROTO_UDP: |
| return "udp" |
| default: |
| return fmt.Sprintf("%d", proto) |
| } |
| } |