diff options
Diffstat (limited to 'src/pkg/runtime/os_solaris.h')
-rw-r--r-- | src/pkg/runtime/os_solaris.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/pkg/runtime/os_solaris.h b/src/pkg/runtime/os_solaris.h new file mode 100644 index 000000000..f3fae5da2 --- /dev/null +++ b/src/pkg/runtime/os_solaris.h @@ -0,0 +1,51 @@ +// 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); |