# Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# Entry points into Dart from dart:io's C++.

dart:io,::,_makeUint8ListView
dart:io,::,_makeDatagram
dart:io,::,_setupHooks
dart:io,::,_getWatchSignalInternal
dart:io,CertificateException,CertificateException.
dart:io,Directory,Directory.
dart:io,Directory,Directory.fromRawPath
dart:io,File,File.
dart:io,File,File.fromRawPath
dart:io,FileSystemException,FileSystemException.
dart:io,HandshakeException,HandshakeException.
dart:io,Link,Link.
dart:io,OSError,OSError.
dart:io,TlsException,TlsException.
dart:io,X509Certificate,X509Certificate._
dart:io,_ExternalBuffer,set:data
dart:io,_ExternalBuffer,get:start
dart:io,_ExternalBuffer,set:start
dart:io,_ExternalBuffer,set:end
dart:io,_ExternalBuffer,get:end
dart:io,_Platform,set:_nativeScript
dart:io,_ProcessStartStatus,set:_errorCode
dart:io,_ProcessStartStatus,set:_errorMessage
dart:io,_SecureFilterImpl,get:buffers
dart:io,_SecureFilterImpl,get:ENCRYPTED_SIZE
dart:io,_SecureFilterImpl,get:SIZE
