summaryrefslogtreecommitdiff
path: root/src/cmd/gc/sys.go
blob: f58a16128a167e47673c8a822611baf5e5e64367 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// 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.


package foop	// rename to avoid redeclaration

func	mal(uint32) *any;
func	breakpoint();
func	panicl(int32);

func	printbool(bool);
func	printfloat(double);
func	printint(int64);
func	printstring(string);
func	printpointer(*byte);

func	catstring(string, string) string;
func	cmpstring(string, string) int32;
func	slicestring(string, int32, int32) string;
func	indexstring(string, int32) byte;
func	intstring(int64) string;
func	byteastring(*byte, int32) string;
func	mkiface(*byte, *byte, *struct{}) interface{};

func	argc() int32;
func	envc() int32;
func	argv(int32) string;
func	envv(int32) string;

func	frexp(float64) (float64, int32);	// break fp into exp,fract
func	ldexp(float64, int32) float64;		// make fp from exp,fract
func	modf(float64) (float64, float64);	// break fp into double.double
func	isInf(float64, int32) bool;		// test for infinity
func	isNaN(float64) bool;			// test for not-a-number
func	Inf(int32) float64;			// return signed Inf
func	NaN() float64;				// return a NaN

func	newmap(keysize uint32, valsize uint32,
		keyalg uint32, valalg uint32,
		hint uint32) (hmap *map[any]any);
func	mapaccess1(hmap *map[any]any, key any) (val any);
func	mapaccess2(hmap *map[any]any, key any) (val any, pres bool);
func	mapassign1(hmap *map[any]any, key any, val any);
func	mapassign2(hmap *map[any]any, key any, val any, pres bool);

func	readfile(string) (string, bool);	// read file into string; boolean status
func	bytestorune(*byte, int32, int32) (int32, int32);	// convert bytes to runes	
func	stringtorune(string, int32, int32) (int32, int32);	// convert bytes to runes	

func	exit(int32);

export
	mal
	breakpoint

	// print panic
	panicl
	printbool
	printfloat
	printint
	printstring
	printpointer

	// op string
	catstring
	cmpstring
	slicestring
	indexstring
	intstring
	byteastring
	mkiface

	// args
	argc
	envc
	argv
	envv

	// fp
	frexp
	ldexp
	modf
	isInf,
	isNaN,
	Inf,
	NaN,

	// op map
	newmap
	mapaccess1
	mapaccess2
	mapassign1
	mapassign2

	// files
	readfile

	// runes and utf-8
	bytestorune
	stringtorune

	// system calls
	exit
	;