// Copyright 2018 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.

//go:build !plan9

package os

import (
	
)

// rawConn implements syscall.RawConn.
type rawConn struct {
	file *File
}

func ( *rawConn) ( func(uintptr)) error {
	if  := .file.checkValid("SyscallConn.Control");  != nil {
		return 
	}
	 := .file.pfd.RawControl()
	runtime.KeepAlive(.file)
	return 
}

func ( *rawConn) ( func(uintptr) bool) error {
	if  := .file.checkValid("SyscallConn.Read");  != nil {
		return 
	}
	 := .file.pfd.RawRead()
	runtime.KeepAlive(.file)
	return 
}

func ( *rawConn) ( func(uintptr) bool) error {
	if  := .file.checkValid("SyscallConn.Write");  != nil {
		return 
	}
	 := .file.pfd.RawWrite()
	runtime.KeepAlive(.file)
	return 
}

func newRawConn( *File) (*rawConn, error) {
	return &rawConn{file: }, nil
}