join 1.0
lightweight network framework library
Loading...
Searching...
No Matches
join::BasicNetlinkEndpoint< Protocol > Class Template Reference

basic netlink endpoint class. More...

#include <endpoint.hpp>

Inheritance diagram for join::BasicNetlinkEndpoint< Protocol >:
Collaboration diagram for join::BasicNetlinkEndpoint< Protocol >:

Public Member Functions

constexpr BasicNetlinkEndpoint () noexcept
 default constructor.
 
 BasicNetlinkEndpoint (const struct sockaddr *addr, socklen_t len) noexcept
 create instance using socket address.
 
 BasicNetlinkEndpoint (const Protocol &protocol, uint32_t pid, uint32_t groups) noexcept
 create instance using netlink groups.
 
 BasicNetlinkEndpoint (uint32_t pid, uint32_t groups) noexcept
 create instance using netlink groups.
 
 BasicNetlinkEndpoint (const Protocol &protocol, uint32_t groups) noexcept
 create instance using netlink groups.
 
 BasicNetlinkEndpoint (uint32_t groups) noexcept
 create instance using netlink groups.
 
Protocol protocol () const noexcept
 get endpoint protocol.
 
constexpr socklen_t length () const noexcept
 get socket address length.
 
void pid (uint32_t pid) noexcept
 set process id.
 
uint32_t pid () const noexcept
 get process id.
 
void groups (uint32_t groups) noexcept
 set netlink groups.
 
uint32_t groups () const noexcept
 get netlink groups.
 
std::string device () const
 get device name (not applicable for netlink).
 
- Public Member Functions inherited from join::BasicEndpoint< Protocol >
constexpr BasicEndpoint () noexcept
 default constructor.
 
 BasicEndpoint (const struct sockaddr *addr, socklen_t len) noexcept
 create instance using socket address.
 
struct sockaddr * addr () noexcept
 get socket address.
 
const struct sockaddr * addr () const noexcept
 get socket address.
 

Protected Attributes

int _protocol
 netlink protocol type.
 
- Protected Attributes inherited from join::BasicEndpoint< Protocol >
struct sockaddr_storage _addr = {}
 socket address storage.
 

Detailed Description

template<class Protocol>
class join::BasicNetlinkEndpoint< Protocol >

basic netlink endpoint class.

Constructor & Destructor Documentation

◆ BasicNetlinkEndpoint() [1/6]

template<class Protocol >
join::BasicNetlinkEndpoint< Protocol >::BasicNetlinkEndpoint ( )
inlineconstexprnoexcept

default constructor.

◆ BasicNetlinkEndpoint() [2/6]

template<class Protocol >
join::BasicNetlinkEndpoint< Protocol >::BasicNetlinkEndpoint ( const struct sockaddr * addr,
socklen_t len )
inlinenoexcept

create instance using socket address.

Parameters
addrsocket address.
lensocket address length.

◆ BasicNetlinkEndpoint() [3/6]

template<class Protocol >
join::BasicNetlinkEndpoint< Protocol >::BasicNetlinkEndpoint ( const Protocol & protocol,
uint32_t pid,
uint32_t groups )
inlinenoexcept

create instance using netlink groups.

Parameters
protocolnetlink protocol.
pidprocess id.
groupsnetlink groups to set.

◆ BasicNetlinkEndpoint() [4/6]

template<class Protocol >
join::BasicNetlinkEndpoint< Protocol >::BasicNetlinkEndpoint ( uint32_t pid,
uint32_t groups )
inlinenoexcept

create instance using netlink groups.

Parameters
pidprocess id.
groupsnetlink groups to set.

◆ BasicNetlinkEndpoint() [5/6]

template<class Protocol >
join::BasicNetlinkEndpoint< Protocol >::BasicNetlinkEndpoint ( const Protocol & protocol,
uint32_t groups )
inlinenoexcept

create instance using netlink groups.

Parameters
protocolnetlink protocol.
groupsnetlink groups to set.

◆ BasicNetlinkEndpoint() [6/6]

template<class Protocol >
join::BasicNetlinkEndpoint< Protocol >::BasicNetlinkEndpoint ( uint32_t groups)
inlinenoexcept

create instance using netlink groups.

Parameters
groupsnetlink groups to set.

Member Function Documentation

◆ device()

template<class Protocol >
std::string join::BasicNetlinkEndpoint< Protocol >::device ( ) const
inline

get device name (not applicable for netlink).

Returns
empty string.

◆ groups() [1/2]

template<class Protocol >
uint32_t join::BasicNetlinkEndpoint< Protocol >::groups ( ) const
inlinenoexcept

get netlink groups.

Returns
netlink groups bitmask.

◆ groups() [2/2]

template<class Protocol >
void join::BasicNetlinkEndpoint< Protocol >::groups ( uint32_t groups)
inlinenoexcept

set netlink groups.

Parameters
groupsnetlink groups bitmask.

◆ length()

template<class Protocol >
socklen_t join::BasicNetlinkEndpoint< Protocol >::length ( ) const
inlineconstexprnoexcept

get socket address length.

Returns
socket address length.

◆ pid() [1/2]

template<class Protocol >
uint32_t join::BasicNetlinkEndpoint< Protocol >::pid ( ) const
inlinenoexcept

get process id.

Returns
process id.

◆ pid() [2/2]

template<class Protocol >
void join::BasicNetlinkEndpoint< Protocol >::pid ( uint32_t pid)
inlinenoexcept

set process id.

Parameters
pidprocess id.

◆ protocol()

template<class Protocol >
Protocol join::BasicNetlinkEndpoint< Protocol >::protocol ( ) const
inlinenoexcept

get endpoint protocol.

Returns
endpoint protocol.

Member Data Documentation

◆ _protocol

template<class Protocol >
int join::BasicNetlinkEndpoint< Protocol >::_protocol
protected

netlink protocol type.


The documentation for this class was generated from the following file: