// Copyright 2014 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. #define SS_DISABLE 2 #define SIG_BLOCK 1 #define SIG_UNBLOCK 2 #define SIG_SETMASK 3 typedef uintptr kevent_udata; struct sigaction; void runtime·sigpanic(void); void runtime·setitimer(int32, Itimerval*, Itimerval*); void runtime·sigaction(int32, struct Sigaction*, struct Sigaction*); void runtime·sigaltstack(Sigaltstack*, Sigaltstack*); void runtime·sigprocmask(int32, Sigset*, Sigset*); void runtime·unblocksignals(void); int32 runtime·sysctl(uint32*, uint32, byte*, uintptr*, byte*, uintptr); #define NSIG 73 /* number of signals in runtime·SigTab array */ #define SI_USER 0 void runtime·raisesigpipe(void); void runtime·setsig(int32, void(*)(int32, Siginfo*, void*, G*), bool); void runtime·sighandler(int32 sig, Siginfo *info, void *context, G *gp); void runtime·sigpanic(void); #define _UC_SIGMASK 0x01 #define _UC_CPU 0x04 #define RLIMIT_AS 10 typedef struct Rlimit Rlimit; struct Rlimit { int64 rlim_cur; int64 rlim_max; }; int32 runtime·getrlimit(int32, Rlimit*); // Call a library function with SysV conventions, // and switch to os stack during the call. #pragma varargck countpos runtime·sysvicall6 2 #pragma varargck type runtime·sysvicall6 uintptr #pragma varargck type runtime·sysvicall6 int32 void runtime·asmsysvicall6(void *c); uintptr runtime·sysvicall6(uintptr fn, int32 count, ...); void runtime·miniterrno(void *fn);