| // Copyright 2019 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 faketime | 
 |  | 
 | package syscall | 
 |  | 
 | import "unsafe" | 
 |  | 
 | const faketime = true | 
 |  | 
 | // When faketime is enabled, we redirect writes to FDs 1 and 2 through | 
 | // the runtime's write function, since that adds the framing that | 
 | // reports the emulated time. | 
 |  | 
 | //go:linkname runtimeWrite runtime.write | 
 | func runtimeWrite(fd uintptr, p unsafe.Pointer, n int32) int32 | 
 |  | 
 | func faketimeWrite(fd int, p []byte) int { | 
 | 	var pp *byte | 
 | 	if len(p) > 0 { | 
 | 		pp = &p[0] | 
 | 	} | 
 | 	return int(runtimeWrite(uintptr(fd), unsafe.Pointer(pp), int32(len(p)))) | 
 | } |