used syscall error codes instead of using constants
added write operations
added read operations. added missing constants.go