X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FProtocols%2FRaw%2FTunTapSocketHandle.hh;h=37fb241075717605d5b96dc346d4d52906a48b75;hb=51b24c3227717ce5ad8111a99c2d7eea5fa0bd8d;hp=fb5f95f966c0a252d1ea443897eeee9b3ba50cac;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Socket/Protocols/Raw/TunTapSocketHandle.hh b/senf/Socket/Protocols/Raw/TunTapSocketHandle.hh index fb5f95f..37fb241 100644 --- a/senf/Socket/Protocols/Raw/TunTapSocketHandle.hh +++ b/senf/Socket/Protocols/Raw/TunTapSocketHandle.hh @@ -2,23 +2,28 @@ // // Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY -// Thorsten Horstmann // -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. +// The contents of this file are subject to the Fraunhofer FOKUS Public License +// Version 1.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// http://senf.berlios.de/license.html // -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// The Fraunhofer FOKUS Public License Version 1.0 is based on, +// but modifies the Mozilla Public License Version 1.1. +// See the full license text for the amendments. // -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// Software distributed under the License is distributed on an "AS IS" basis, +// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +// for the specific language governing rights and limitations under the License. +// +// The Original Code is Fraunhofer FOKUS code. +// +// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. +// (registered association), Hansastraße 27 c, 80686 Munich, Germany. +// All Rights Reserved. +// +// Contributor(s): +// Thorsten Horstmann /** \file \brief PacketSocketProtocol and PacketSocketHandle public header @@ -28,23 +33,22 @@ #define HH_SENF_Socket_Protocols_Raw_TunTapSocketHandle_ 1 // Custom includes -#include "../../../Socket/SocketPolicy.hh" -#include "../../../Socket/SocketProtocol.hh" -#include "../../../Socket/ProtocolClientSocketHandle.hh" -#include "../../../Socket/FramingPolicy.hh" -#include "../../../Socket/CommunicationPolicy.hh" -#include "../../../Socket/ReadWritePolicy.hh" -#include "../../../Socket/Protocols/BSDSocketProtocol.hh" -#include "LLAddressing.hh" +#include +#include +#include +#include +#include +#include +#include //#include "TunTapSocketHandle.mpp" //#include "TunTapSocketHandle.ih" -///////////////////////////////hh.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace senf { /// \addtogroup concrete_protocol_group - /// @{ + //\{ typedef MakeSocketPolicy< NoAddressingPolicy, @@ -81,13 +85,13 @@ namespace senf { { public: ///\name Constructors - ///@{ + //\{ void init_client() const; ///< Open tap socket and create new tap interface /**< Opens the tun/tap socket and create a new tap interface Use \ref ifaceName() to get the actual name of the newly created interface. - - The new interface is down and has to be set up separately. + + The new interface is down and has to be set up separately. After closing the socket, the tap interface and all corresponding routes will be deleted automatically. */ /**< \note This member is implicitly called from the @@ -99,47 +103,47 @@ namespace senf { with the given name. Note that the created interface can have a different name as specified. Use \ref ifaceName() to get the actual name. - - The new interface is down and has to be set up separately. + + The new interface is down and has to be set up separately. After closing the socket, the tap interface and all - corresponding routes will be deleted automatically. + corresponding routes will be deleted automatically. \param[in] interface_name name of the new tap interface. - \param[in] NO_PI if set to \c false each packet has a + \param[in] NO_PI if set to \c false each packet has a additional 4 bytes header (flags, proto) */ /**< \note This member is implicitly called from the ProtocolClientSocketHandle::ProtocolClientSocketHandle() constructor */ - ///@} + //\} ///\name Abstract Interface Implementation - ///@{ + //\{ unsigned available() const; bool eof() const; ///< returns always false. unsigned int ifaceIndex() const;///< returns the index of the correspondent tap interface - std::string ifaceName() const; ///< returns the actual name of the correspondent tap interface + std::string ifaceName() const; ///< returns the actual name of the correspondent tap interface private: mutable unsigned int ifaceIndex_; - ///@} + //\} }; typedef ProtocolClientSocketHandle TapSocketHandle; ///< SocketHandle of TapSocketProtocol /**< \related TapSocketProtocol */ - /// @} + //\} } -///////////////////////////////hh.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// //#include "TunTapSocketHandle.cci" //#include "TunTapSocketHandle.ct" //#include "TunTapSocketHandle.cti" //#include "TunTapSocketHandle.mpp" #endif - + // Local Variables: // mode: c++ // fill-column: 100