• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
MakePipe(base::File * read_file,base::File * write_file)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