Source File
syscall.go
Belonging Package
golang.org/x/sys/unix
// Copyright 2009 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.//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos// Package unix contains an interface to the low-level operating system// primitives. OS details vary depending on the underlying system, and// by default, godoc will display OS-specific documentation for the current// system. If you want godoc to display OS documentation for another// system, set $GOOS and $GOARCH to the desired system. For example, if// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS// to freebsd and $GOARCH to arm.//// The primary use of this package is inside other packages that provide a more// portable interface to the system, such as "os", "time" and "net". Use// those packages rather than this one if you can.//// For details of the functions and data types in this package consult// the manuals for the appropriate operating system.//// These calls return err == nil to indicate success; otherwise// err represents an operating system error describing the failure and// holds a value of type syscall.Errno.package unix // import "golang.org/x/sys/unix"import ()// ByteSliceFromString returns a NUL-terminated slice of bytes// containing the text of s. If s contains a NUL byte at any// location, it returns (nil, EINVAL).func ( string) ([]byte, error) {if strings.IndexByte(, 0) != -1 {return nil, EINVAL}:= make([]byte, len()+1)copy(, )return , nil}// BytePtrFromString returns a pointer to a NUL-terminated array of// bytes containing the text of s. If s contains a NUL byte at any// location, it returns (nil, EINVAL).func ( string) (*byte, error) {, := ByteSliceFromString()if != nil {return nil,}return &[0], nil}// ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any// bytes after the NUL removed.func ( []byte) string {if := bytes.IndexByte(, 0); != -1 {= [:]}return string()}// BytePtrToString takes a pointer to a sequence of text and returns the corresponding string.// If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated// at a zero byte; if the zero byte is not present, the program may crash.func ( *byte) string {if == nil {return ""}if * == 0 {return ""}// Find NUL terminator.:= 0for := unsafe.Pointer(); *(*byte)() != 0; ++ {= unsafe.Pointer(uintptr() + 1)}return string(unsafe.Slice(, ))}// Single-word zero for use when we need a valid pointer to 0 bytes.var _zero uintptr
![]() |
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |