summaryrefslogtreecommitdiff
path: root/structs.go
blob: 5f3df657bb2afd6f7b55f3af424829b32f48c486 (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
package shell

import "io"
import "os/exec"
import "bufio"
import "bytes"
import "github.com/svent/go-nbreader"

var FileMap	map[string]*File

var readBufferSize int

/*
type File struct {
	Name		string
	BufferSize	int
	Buffer		*bytes.Buffer
	Fbytes		[]byte
	TotalCount	int
	Empty		bool
	Dead		bool

	Fio		io.ReadCloser		// := process.StdoutPipe()
	Fbufio		*bufio.Reader		// := bufio.NewReader(pOUT)
	Fnbreader	*nbreader.NBReader	// := nbreader.NewNBReader(readOUT, 1024)
}
*/

type File struct {
	Name		string
	// BufferSize	int
	// Buffer		*bytes.Buffer
	// Fbytes		[]byte
	TotalCount	int
	Empty		bool
	Dead		bool

	Fio		io.ReadCloser		// := process.StdoutPipe()
	Fbufio		*bufio.Reader		// := bufio.NewReader(pOUT)
	Fnbreader	*nbreader.NBReader	// := nbreader.NewNBReader(readOUT, 1024)
}

type Shell struct {
	Cmdline		string
	Process		*exec.Cmd
	Done		bool
	Quiet		bool
	Error		error
	Buffer		*bytes.Buffer

	// which names are really better here?
	// for now I init them both to test out
	// how the code looks and feels
	STDOUT		*File
	STDERR		*File
	Stdout		*File
	Stderr		*File
}

func New() *Shell {
	var tmp Shell
	return &tmp
}

/*
func FileCreate(f io.ReadCloser) *File {
	var newfile File

	newfile.Fio = f
	newfile.Fbufio = bufio.NewReader(f)
	newfile.Fnbreader = nbreader.NewNBReader(newfile.Fbufio, 1024)

	return &newfile
}
*/