2008-06-04 15:37:38 -06:00
|
|
|
// Copyright 2009 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.
|
|
|
|
|
|
|
|
|
2008-10-03 17:15:55 -06:00
|
|
|
package SYS // rename to avoid redeclaration
|
|
|
|
|
2008-10-29 13:46:44 -06:00
|
|
|
export func mal(int32) *any;
|
2008-10-03 17:15:55 -06:00
|
|
|
export func breakpoint();
|
|
|
|
export func throwindex();
|
|
|
|
export func throwreturn();
|
|
|
|
export func panicl(int32);
|
|
|
|
|
|
|
|
export func printbool(bool);
|
2008-10-29 13:46:44 -06:00
|
|
|
export func printfloat(float64);
|
2008-10-03 17:15:55 -06:00
|
|
|
export func printint(int64);
|
|
|
|
export func printstring(string);
|
|
|
|
export func printpointer(*any);
|
|
|
|
export func printinter(any);
|
|
|
|
export func printnl();
|
|
|
|
export func printsp();
|
|
|
|
|
|
|
|
export func catstring(string, string) string;
|
2008-10-29 13:46:44 -06:00
|
|
|
export func cmpstring(string, string) int;
|
|
|
|
export func slicestring(string, int, int) string;
|
|
|
|
export func indexstring(string, int) byte;
|
2008-10-03 17:15:55 -06:00
|
|
|
export func intstring(int64) string;
|
2008-10-29 13:46:44 -06:00
|
|
|
export func byteastring(*byte, int) string;
|
2008-10-03 17:15:55 -06:00
|
|
|
export func arraystring(*[]byte) string;
|
|
|
|
|
|
|
|
export func ifaceT2I(sigi *byte, sigt *byte, elem any) (ret any);
|
|
|
|
export func ifaceI2T(sigt *byte, iface any) (ret any);
|
2008-11-03 18:34:37 -07:00
|
|
|
export func ifaceI2T2(sigt *byte, iface any) (ret any, ok bool);
|
2008-10-03 17:15:55 -06:00
|
|
|
export func ifaceI2I(sigi *byte, iface any) (ret any);
|
2008-11-03 18:34:37 -07:00
|
|
|
export func ifaceI2I2(sigi *byte, iface any) (ret any, ok bool);
|
2008-10-14 16:08:23 -06:00
|
|
|
export func ifaceeq(i1 any, i2 any) (ret bool);
|
2008-10-21 16:38:26 -06:00
|
|
|
export func reflect(i interface { }) (uint64, string);
|
2008-11-03 17:03:12 -07:00
|
|
|
export func unreflect(uint64, string) (ret interface { });
|
2008-10-03 17:15:55 -06:00
|
|
|
|
2008-10-29 13:46:44 -06:00
|
|
|
export func argc() int;
|
|
|
|
export func envc() int;
|
|
|
|
export func argv(int) string;
|
|
|
|
export func envv(int) string;
|
2008-10-03 17:15:55 -06:00
|
|
|
|
2008-10-29 13:46:44 -06:00
|
|
|
export func frexp(float64) (float64, int); // break fp into exp,fract
|
|
|
|
export func ldexp(float64, int) float64; // make fp from exp,fract
|
2008-10-03 17:15:55 -06:00
|
|
|
export func modf(float64) (float64, float64); // break fp into double.double
|
2008-10-29 13:46:44 -06:00
|
|
|
export func isInf(float64, int) bool; // test for infinity
|
2008-10-03 17:15:55 -06:00
|
|
|
export func isNaN(float64) bool; // test for not-a-number
|
2008-10-29 13:46:44 -06:00
|
|
|
export func Inf(int) float64; // return signed Inf
|
2008-10-03 17:15:55 -06:00
|
|
|
export func NaN() float64; // return a NaN
|
2008-11-06 16:48:36 -07:00
|
|
|
export func float32bits(float32) uint32; // raw bits
|
|
|
|
export func float64bits(float64) uint64; // raw bits
|
2008-11-12 12:51:34 -07:00
|
|
|
export func float32frombits(uint32) float32; // raw bits
|
|
|
|
export func float64frombits(uint64) float64; // raw bits
|
2008-10-03 17:15:55 -06:00
|
|
|
|
2008-10-29 13:46:44 -06:00
|
|
|
export func newmap(keysize int, valsize int,
|
|
|
|
keyalg int, valalg int,
|
|
|
|
hint int) (hmap *map[any]any);
|
2008-10-03 17:15:55 -06:00
|
|
|
export func mapaccess1(hmap *map[any]any, key any) (val any);
|
|
|
|
export func mapaccess2(hmap *map[any]any, key any) (val any, pres bool);
|
|
|
|
export func mapassign1(hmap *map[any]any, key any, val any);
|
|
|
|
export func mapassign2(hmap *map[any]any, key any, val any, pres bool);
|
|
|
|
|
2008-10-29 13:46:44 -06:00
|
|
|
export func newchan(elemsize int, elemalg int, hint int) (hchan *chan any);
|
2008-10-03 17:15:55 -06:00
|
|
|
export func chanrecv1(hchan *chan any) (elem any);
|
|
|
|
export func chanrecv2(hchan *chan any) (elem any, pres bool);
|
|
|
|
export func chanrecv3(hchan *chan any, elem *any) (pres bool);
|
|
|
|
export func chansend1(hchan *chan any, elem any);
|
|
|
|
export func chansend2(hchan *chan any, elem any) (pres bool);
|
|
|
|
|
2008-10-29 13:46:44 -06:00
|
|
|
export func newselect(size int) (sel *byte);
|
2008-10-03 17:15:55 -06:00
|
|
|
export func selectsend(sel *byte, hchan *chan any, elem any) (selected bool);
|
|
|
|
export func selectrecv(sel *byte, hchan *chan any, elem *any) (selected bool);
|
2008-11-05 22:50:28 -07:00
|
|
|
export func selectdefault(sel *byte) (selected bool);
|
2008-10-03 17:15:55 -06:00
|
|
|
export func selectgo(sel *byte);
|
|
|
|
|
2008-10-29 13:46:44 -06:00
|
|
|
export func newarray(nel int, cap int, width int) (ary *[]any);
|
|
|
|
export func arraysliced(old *[]any, lb int, hb int, width int) (ary *[]any);
|
|
|
|
export func arrayslices(old *any, nel int, lb int, hb int, width int) (ary *[]any);
|
|
|
|
export func arrays2d(old *any, nel int) (ary *[]any);
|
2008-10-03 17:15:55 -06:00
|
|
|
|
|
|
|
export func gosched();
|
|
|
|
export func goexit();
|
|
|
|
|
|
|
|
export func readfile(string) (string, bool); // read file into string; boolean status
|
|
|
|
export func writefile(string, string) (bool); // write string into file; boolean status
|
2008-10-29 13:46:44 -06:00
|
|
|
export func bytestorune(*byte, int, int) (int, int); // convert bytes to runes
|
|
|
|
export func stringtorune(string, int) (int, int); // convert bytes to runes
|
2008-10-03 17:15:55 -06:00
|
|
|
|
2008-10-29 13:46:44 -06:00
|
|
|
export func exit(int);
|