libzypp
17.37.17
sockaddr.cpp
Go to the documentation of this file.
1
#include "
sockaddr.h
"
2
#include <sys/un.h>
3
4
namespace
zyppng
{
5
6
UnixSockAddr::UnixSockAddr
(
const
std::string &path ,
bool
abstract ) :
_data
(
std
::make_shared<struct sockaddr_un>() )
7
{
8
memset(
_data
.get(), 0,
size
() );
9
10
_data
->sun_family = AF_UNIX;
11
if
( path.size() ) {
12
const
auto
align = abstract ? 1 : 0;
13
path.copy(
_data
->sun_path + align,
sizeof
(
_data
->sun_path ) - align - 1 );
14
}
15
}
16
17
sockaddr *
UnixSockAddr::nativeSockAddr
()
const
18
{
19
return
reinterpret_cast<
sockaddr *
>
(
_data
.get());
20
}
21
22
std::size_t
UnixSockAddr::size
()
const
23
{
24
return
sizeof
(
struct
sockaddr_un);
25
}
26
27
bool
UnixSockAddr::isAbstract
()
const
28
{
29
return
_data
->sun_path[0];
30
}
31
32
}
zyppng::UnixSockAddr::isAbstract
bool isAbstract() const
Definition
sockaddr.cpp:27
zyppng::UnixSockAddr::size
std::size_t size() const override
Definition
sockaddr.cpp:22
zyppng::UnixSockAddr::nativeSockAddr
sockaddr * nativeSockAddr() const override
Definition
sockaddr.cpp:17
zyppng::UnixSockAddr::UnixSockAddr
UnixSockAddr(const std::string &path, bool abstract)
Definition
sockaddr.cpp:6
zyppng::UnixSockAddr::_data
std::shared_ptr< struct sockaddr_un > _data
Definition
sockaddr.h:50
std
Definition
Arch.h:364
zyppng
Definition
MediaNetworkRequestExecutor.h:16
sockaddr.h
zypp-core
zyppng
io
sockaddr.cpp
Generated by
1.14.0