PacketSocketHandle.hh
Go to the documentation of this file.
1 //
2 // Copyright (c) 2020 Fraunhofer Institute for Applied Information Technology (FIT)
3 // Network Research Group (NET)
4 // Schloss Birlinghoven, 53754 Sankt Augustin, GERMANY
5 // Contact: support@wiback.org
6 //
7 // This file is part of the SENF code tree.
8 // It is licensed under the 3-clause BSD License (aka New BSD License).
9 // See LICENSE.txt in the top level directory for details or visit
10 // https://opensource.org/licenses/BSD-3-Clause
11 //
12 
13 
18 #ifndef HH_SENF_Socket_Protocols_Raw_PacketSocketHandle_
19 #define HH_SENF_Socket_Protocols_Raw_PacketSocketHandle_ 1
20 
21 // Custom includes
31 #include "LLAddressing.hh"
32 
33 //#include "PacketSocketHandle.mpp"
34 //#include "PacketSocketHandle.ih"
35 //-/////////////////////////////////////////////////////////////////////////////////////////////////
36 
37 namespace senf {
38 
40  //\{
41 
42  typedef MakeSocketPolicy<
43  LLAddressingPolicy,
44  DatagramFramingPolicy,
45  UnconnectedCommunicationPolicy,
46  ReadablePolicy,
47  WriteablePolicy
48  >::policy Packet_Policy;
49 
70  : public ConcreteSocketProtocol<Packet_Policy, PacketSocketProtocol>,
72  public BSDSocketProtocol,
75  {
76  public:
78  //\{
79  void init_client(SocketType type = RawSocket, int protocol = -1) const;
81 
99  //\}
100 
101  };
102 
103  typedef ProtocolClientSocketHandle<PacketSocketProtocol> PacketSocketHandle;
105 
107  //\}
108 }
109 
110 //-/////////////////////////////////////////////////////////////////////////////////////////////////
111 //#include "PacketSocketHandle.cci"
112 //#include "PacketSocketHandle.ct"
113 //#include "PacketSocketHandle.cti"
114 //#include "PacketSocketHandle.mpp"
115 #endif
116 
117 
118 // Local Variables:
119 // mode: c++
120 // fill-column: 100
121 // c-file-style: "senf"
122 // indent-tabs-mode: nil
123 // ispell-local-dictionary: "american"
124 // compile-command: "scons -u test"
125 // comment-column: 40
126 // End:
CommunicationPolicy public header.
MakeSocketPolicy< LLAddressingPolicy, DatagramFramingPolicy, UnconnectedCommunicationPolicy, ReadablePolicy, WriteablePolicy >::policy Packet_Policy
Policy of PacketSocketProtocol.
void init_client(SocketType type=RawSocket, int protocol=-1) const
Create packet socket.
Policy Framework public header.
u8 type
ProtocolClientSocketHandle public header.
DatagramSocketProtocol public header.
ReadPolicy and WritePolicy public header.
LLSocketAddress and LLAddressingPolicy public header.
Protocol facet providing basic BSD socket functionality.
BSDSocketProtocol public header.
ProtocolClientSocketHandle< PacketSocketProtocol > PacketSocketHandle
SocketHandle of the PacketSocketProtocol.
LinuxPacketSocketProtocol public header.
Concrete Socket Protocol implementation base class.
SocketProtocol and ConcreteSocketProtocol public header.
FramingPolicy public header.
Raw Packet-Socket access (Linux)
Protocol facet providing generic BSD datagram socket functionality.