shell/structs.go

76 lines
1.3 KiB
Go

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
}
*/