| // 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. |
| |
| extern int32 runtime·write(int32 fd, void* buffer, int32 nbytes); |
| extern void runtime·exits(int8* msg); |
| extern int32 runtime·brk_(void*); |
| |
| /* rfork */ |
| enum |
| { |
| 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) |
| }; |
| extern int32 runtime·rfork(int32 flags, void *stk, M *m, G *g, void (*fn)(void)); |
| extern int32 runtime·plan9_semacquire(uint32 *addr, int32 block); |
| extern int32 runtime·plan9_semrelease(uint32 *addr, int32 count); |