UNAddressing.cc
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 
17 #include "UNAddressing.hh"
18 //#include "UNAddressing.ih"
19 
20 // Custom includes
22 
23 #define prefix_
24 //-/////////////////////////////////////////////////////////////////////////////////////////////////
25 
26 prefix_ void senf::UNSocketAddress::path(std::string const & path)
27 {
28  if (path.size() > sizeof(sockaddr_un)-sizeof(short)-1)
29  throw AddressSyntaxException() << "UNSocketAddress path too long: " << path;
30  socklen(path.size()+sizeof(short));
31  strncpy(addr_.sun_path, path.c_str(), socklen()-sizeof(short));
32  addr_.sun_path[socklen()-sizeof(short)+1] = 0;
33 }
34 
35 //-/////////////////////////////////////////////////////////////////////////////////////////////////
36 #undef prefix_
37 //#include "UNAddressing.mpp"
38 
39 
40 // Local Variables:
41 // mode: c++
42 // fill-column: 100
43 // comment-column: 40
44 // c-file-style: "senf"
45 // indent-tabs-mode: nil
46 // ispell-local-dictionary: "american"
47 // compile-command: "scons -u test"
48 // End:
#define prefix_
Definition: UNAddressing.cc:23
AddressExceptions public header.
UNAddressing public header.
Invalid address syntax.
std::string path() const
Return path as string.
socklen_t socklen() const