1  /*
   2   * \brief  I/O-memory session interface
   3   * \author Christian Helmuth
   4   * \date   2006-08-01
   5   */

   6  
   7  /*
   8   * Copyright (C) 2006-2010 Genode Labs GmbH
   9   *
  10   * This file is part of the Genode OS framework, which is distributed
  11   * under the terms of the GNU General Public License version 2.
  12   */

  13  
  14  #ifndef _INCLUDE__IO_MEM_SESSION__IO_MEM_SESSION_H_
  15  #define _INCLUDE__IO_MEM_SESSION__IO_MEM_SESSION_H_
  16  
  17  #include <dataspace/capability.h>
  18  
  19  namespace Genode {
  20  
  21     typedef Typed_capability<Dataspace, Dataspace_capability> Io_mem_dataspace_capability;
  22  
  23     class Io_mem_session
  24     {
  25        protected:
  26  
  27           enum Opcode { DATASPACE };

  28  
  29        public:
  30  
  31           static const char *service_name() { return "IO_MEM"; }
  32  
  33           virtual ~Io_mem_session() { }
  34  
  35           /**
  36            * Request dataspace containing the IO_MEM session data
  37            *
  38            * \return  capability to IO_MEM dataspace
  39            *          (may be invalid)
  40            */

  41           virtual Io_mem_dataspace_capability dataspace() = 0;

  42     }
;

  43  }

  44  
  45  #endif /* _INCLUDE__IO_MEM_SESSION__IO_MEM_SESSION_H_ */