1 // Copyright 2012 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.
9 func (ts
*Timestruc
) Unix() (sec
int64, nsec
int64) {
10 return int64(ts
.Sec
), int64(ts
.Nsec
)
13 func (ts
*Timestruc
) Nano() int64 {
14 return int64(ts
.Sec
)*1e9
+ int64(ts
.Nsec
)
17 func direntIno(buf
[]byte) (uint64, bool) {
18 return readInt(buf
, unsafe
.Offsetof(Dirent
{}.Ino
), unsafe
.Sizeof(Dirent
{}.Ino
))
21 func direntReclen(buf
[]byte) (uint64, bool) {
22 return readInt(buf
, unsafe
.Offsetof(Dirent
{}.Reclen
), unsafe
.Sizeof(Dirent
{}.Reclen
))
25 func direntNamlen(buf
[]byte) (uint64, bool) {
26 reclen
, ok
:= direntReclen(buf
)
30 return reclen
- uint64(unsafe
.Offsetof(Dirent
{}.Name
)), true
33 //sysnb getexecname() (execname unsafe.Pointer, err error)
36 func Getexecname() (path
string, err error
) {
37 ptr
, err
:= getexecname()
41 bytes
:= (*[1 << 29]byte)(ptr
)[:]
42 for i
, b
:= range bytes
{
44 return string(bytes
[:i
]), nil