| // Copyright 2010 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. |
| |
| // Plan 9-specific system calls |
| |
| package runtime |
| |
| // open |
| const ( |
| _OREAD = 0 |
| _OWRITE = 1 |
| _ORDWR = 2 |
| _OEXEC = 3 |
| _OTRUNC = 16 |
| _OCEXEC = 32 |
| _ORCLOSE = 64 |
| _OEXCL = 0x1000 |
| ) |
| |
| // rfork |
| const ( |
| _RFNAMEG = 1 << 0 |
| _RFENVG = 1 << 1 |
| _RFFDG = 1 << 2 |
| _RFNOTEG = 1 << 3 |
| _RFPROC = 1 << 4 |
| _RFMEM = 1 << 5 |
| _RFNOWAIT = 1 << 6 |
| _RFCNAMEG = 1 << 10 |
| _RFCENVG = 1 << 11 |
| _RFCFDG = 1 << 12 |
| _RFREND = 1 << 13 |
| _RFNOMNT = 1 << 14 |
| ) |
| |
| // notify |
| const ( |
| _NCONT = 0 |
| _NDFLT = 1 |
| ) |
| |
| type uinptr _Plink |
| |
| type tos struct { |
| prof struct { // Per process profiling |
| pp *_Plink // known to be 0(ptr) |
| next *_Plink // known to be 4(ptr) |
| last *_Plink |
| first *_Plink |
| pid uint32 |
| what uint32 |
| } |
| cyclefreq uint64 // cycle clock frequency if there is one, 0 otherwise |
| kcycles int64 // cycles spent in kernel |
| pcycles int64 // cycles spent in process (kernel + user) |
| pid uint32 // might as well put the pid here |
| clock uint32 |
| // top of stack is here |
| } |
| |
| const ( |
| _NSIG = 14 // number of signals in sigtable array |
| _ERRMAX = 128 // max length of note string |
| |
| // Notes in runtimeĀ·sigtab that are handled by runtimeĀ·sigpanic. |
| _SIGRFAULT = 2 |
| _SIGWFAULT = 3 |
| _SIGINTDIV = 4 |
| _SIGFLOAT = 5 |
| _SIGTRAP = 6 |
| _SIGPROF = 0 // dummy value defined for badsignal |
| _SIGQUIT = 0 // dummy value defined for sighandler |
| ) |