Evo C++ Library v0.5.1
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
SocketAddressUnix Struct Reference

#include <evo/iosock.h>

Inheritance diagram for SocketAddressUnix:
Inheritance graph
[legend]

Detailed Description

Unix Domain socket address (linux/unix).

Public Member Functions

 SocketAddressUnix ()
 Default constructor sets as empty/invalid. More...
 
 SocketAddressUnix (const SocketAddressUnix &src)
 Copy constructor. More...
 
 SocketAddressUnix (struct sockaddr_un *ptr)
 Constructor to copy from address. More...
 
 SocketAddressUnix (struct sockaddr *ptr)
 Constructor to copy Unix Domain socket address from sockaddr structure. More...
 
SocketAddressUnixclear ()
 Clear current address. More...
 
bool format (String &str) const
 Format Unix Domain socket address to given string (appended). More...
 
bool parse (const SubString &path)
 Parse Unix Domain socket address. More...
 
SocketAddressUnixset (const SocketAddressUnix &src)
 Set as copy of address. More...
 
SocketAddressUnixset (struct sockaddr_un *ptr)
 Set as copy of address. More...
 
void set_maxsize ()
 Set addrlen to max size for socket address. More...
 
bool valid () const
 Get whether valid. More...
 

Static Public Member Functions

static bool check (struct sockaddr *addr)
 Check if address struct holds a supported Unix Domain socket address type. More...
 
static bool format_addr (String &str, const SocketAddressBase *address)
 Format Unix Domain socket address to given string (appended). More...
 

Public Attributes

union {
   struct sockaddr   addr
 Generic address structure. More...
 
   struct sockaddr_un   addr_unix
 Unix Domain address structure (union with addr) More...
 
}; 
 
socklen_t addrlen
 Address length. More...
 

Static Public Attributes

static const socklen_t MAX_SIZE = sizeof(sockaddr_un)
 Max socket address size used here. More...
 

Constructor & Destructor Documentation

◆ SocketAddressUnix() [1/4]

SocketAddressUnix ( )
inline

Default constructor sets as empty/invalid.

◆ SocketAddressUnix() [2/4]

SocketAddressUnix ( const SocketAddressUnix src)
inline

Copy constructor.

Parameters
srcSource address to copy

◆ SocketAddressUnix() [3/4]

SocketAddressUnix ( struct sockaddr_un *  ptr)
inline

Constructor to copy from address.

Parameters
ptrAddress pointer

◆ SocketAddressUnix() [4/4]

SocketAddressUnix ( struct sockaddr *  ptr)
inline

Constructor to copy Unix Domain socket address from sockaddr structure.

  • This is set to null if ptr isn't a valid and supported Unix Domain socket address
Parameters
ptrAddress pointer to get IP address

Member Function Documentation

◆ check()

static bool check ( struct sockaddr *  addr)
inlinestatic

Check if address struct holds a supported Unix Domain socket address type.

Parameters
addrAddress pointer, NULL for none
Returns
Whether addr is valid and is a supported IP address type

◆ clear()

SocketAddressUnix& clear ( )
inline

Clear current address.

Returns
This

◆ format()

bool format ( String str) const
inline

Format Unix Domain socket address to given string (appended).

  • The address is just a path, so this really just copies the path
Parameters
strString to format to, unchanged on error
Returns
Whether successful, false on error (address not valid)

◆ format_addr()

static bool format_addr ( String str,
const SocketAddressBase address 
)
inlinestatic

Format Unix Domain socket address to given string (appended).

  • The address is just a path, so this really just copies the path
Parameters
strString to format to, unchanged on error
addressUnix Domain socket address to format
Returns
Whether successful, false if not a valid Unix Domain socket address

◆ parse()

bool parse ( const SubString path)
inline

Parse Unix Domain socket address.

  • The address is just a path, so this really just copies the path
Parameters
pathUnix Domain socket path
Returns
Whether successful, false if path is too long

◆ set() [1/2]

SocketAddressUnix& set ( const SocketAddressUnix src)
inline

Set as copy of address.

Parameters
srcSource address to copy
Returns
This

◆ set() [2/2]

SocketAddressUnix& set ( struct sockaddr_un *  ptr)
inline

Set as copy of address.

Parameters
ptrAddress pointer
Returns
This

◆ set_maxsize()

void set_maxsize ( )
inlinevirtual

Set addrlen to max size for socket address.

  • Low-level socket functions that store a socket address need to know the max socket address length
  • Derived class must implement this and set the proper max size

Reimplemented from SocketAddressBase.

◆ valid()

bool valid ( ) const
inline

Get whether valid.

Returns
Whether valid

Member Data Documentation

◆ @3

union { ... }

◆ addr

struct sockaddr addr

Generic address structure.

◆ addr_unix

struct sockaddr_un addr_unix

Unix Domain address structure (union with addr)

◆ addrlen

socklen_t addrlen
inherited

Address length.

◆ MAX_SIZE

const socklen_t MAX_SIZE = sizeof(sockaddr_un)
static

Max socket address size used here.


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