1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "remoting/host/setup/test_util.h" 6 7 #if defined(OS_WIN) 8 #include <windows.h> 9 #elif defined(OS_POSIX) 10 #include <unistd.h> 11 #endif 12 13 namespace remoting { 14 15 bool MakePipe(base::File* read_file, 16 base::File* write_file) { 17 #if defined(OS_WIN) 18 base::PlatformFile read_handle; 19 base::PlatformFile write_handle; 20 if (!CreatePipe(&read_handle, &write_handle, NULL, 0)) 21 return false; 22 *read_file = base::File(read_handle); 23 *write_file = base::File(write_handle); 24 return true; 25 #elif defined(OS_POSIX) 26 int fds[2]; 27 if (pipe(fds) == 0) { 28 *read_file = base::File(fds[0]); 29 *write_file = base::File(fds[1]); 30 return true; 31 } 32 return false; 33 #else 34 #error Not implemented 35 #endif 36 } 37 38 } // namepsace remoting 39