github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/third_party/gofrontend/libgo/go/syscall/errno.c (about) 1 /* errno.c -- functions for getting and setting errno 2 3 Copyright 2010 The Go Authors. All rights reserved. 4 Use of this source code is governed by a BSD-style 5 license that can be found in the LICENSE file. */ 6 #include <errno.h> 7 #include <stdint.h> 8 9 #include "runtime.h" 10 11 /* errno is typically a macro. These functions set 12 and get errno specific to the libc being used. */ 13 14 uintptr_t GetErrno() __asm__ (GOSYM_PREFIX "syscall.GetErrno"); 15 void SetErrno(uintptr_t) __asm__ (GOSYM_PREFIX "syscall.SetErrno"); 16 17 uintptr_t 18 GetErrno() 19 { 20 return (uintptr_t) errno; 21 } 22 23 void 24 SetErrno(uintptr_t value) 25 { 26 errno = (int) value; 27 }