github.com/tcnksm/go@v0.0.0-20141208075154-439b32936367/src/syscall/syscall_nacl_386.go (about)

     1  // Copyright 2013 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 syscall
     6  
     7  type Timespec struct {
     8  	Sec  int64
     9  	Nsec int32
    10  }
    11  
    12  type Timeval struct {
    13  	Sec  int64
    14  	Usec int32
    15  }
    16  
    17  func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
    18  
    19  func NsecToTimespec(nsec int64) (ts Timespec) {
    20  	ts.Sec = int64(nsec / 1e9)
    21  	ts.Nsec = int32(nsec % 1e9)
    22  	return
    23  }
    24  
    25  func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
    26  
    27  func NsecToTimeval(nsec int64) (tv Timeval) {
    28  	nsec += 999 // round up to microsecond
    29  	tv.Usec = int32(nsec % 1e9 / 1e3)
    30  	tv.Sec = int64(nsec / 1e9)
    31  	return
    32  }