Home | History | Annotate | Download | only in syscall_broker
      1 // Copyright 2014 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 #ifndef SANDBOX_LINUX_SYSCALL_BROKER_BROKER_CHANNEL_H_
      6 #define SANDBOX_LINUX_SYSCALL_BROKER_BROKER_CHANNEL_H_
      7 
      8 #include "base/files/scoped_file.h"
      9 #include "base/macros.h"
     10 
     11 namespace sandbox {
     12 
     13 namespace syscall_broker {
     14 
     15 // A small class to create a pipe-like communication channel. It is based on a
     16 // SOCK_SEQPACKET unix socket, which is connection-based and guaranteed to
     17 // preserve message boundaries.
     18 class BrokerChannel {
     19  public:
     20   typedef base::ScopedFD EndPoint;
     21   static void CreatePair(EndPoint* reader, EndPoint* writer);
     22 
     23  private:
     24   DISALLOW_IMPLICIT_CONSTRUCTORS(BrokerChannel);
     25 };
     26 
     27 }  // namespace syscall_broker
     28 
     29 }  // namespace sandbox
     30 
     31 #endif  // SANDBOX_LINUX_SYSCALL_BROKER_BROKER_CHANNEL_H_
     32