sock utility function  
More...
sock utility function 
 | 
| file   | util.h | 
|   | sock utility function definitions 
  | 
|   | 
 | 
| int  | sock_tl_ep_fmt (const struct _sock_tl_ep *endpoint, char *addr_str, uint16_t *port) | 
|   | Format common IP-based transport layer endpoint to string and port.  More...
  | 
|   | 
| static int  | sock_tcp_ep_fmt (const sock_tcp_ep_t *endpoint, char *addr_str, uint16_t *port) | 
|   | Format TCP endpoint to string and port.  More...
  | 
|   | 
| static int  | sock_udp_ep_fmt (const sock_udp_ep_t *endpoint, char *addr_str, uint16_t *port) | 
|   | Format UDP endpoint to string and port.  More...
  | 
|   | 
| int  | sock_urlsplit (const char *url, char *hostport, char *urlpath) | 
|   | Split url to host:port and url path.  More...
  | 
|   | 
| int  | sock_tl_str2ep (struct _sock_tl_ep *ep_out, const char *str) | 
|   | Convert string to common IP-based transport layer endpoint.  More...
  | 
|   | 
| static int  | sock_tcp_str2ep (sock_tcp_ep_t *ep_out, const char *str) | 
|   | Convert string to TCP endpoint.  More...
  | 
|   | 
| static int  | sock_udp_str2ep (sock_udp_ep_t *ep_out, const char *str) | 
|   | Convert string to UDP endpoint.  More...
  | 
|   | 
| bool  | sock_tl_ep_equal (const struct _sock_tl_ep *a, const struct _sock_tl_ep *b) | 
|   | Compare the two given common IP-based transport layer endpoints.  More...
  | 
|   | 
| static bool  | sock_tcp_ep_equal (const sock_tcp_ep_t *a, const sock_tcp_ep_t *b) | 
|   | Compare the two given TCP endpoints.  More...
  | 
|   | 
| static bool  | sock_udp_ep_equal (const sock_udp_ep_t *a, const sock_udp_ep_t *b) | 
|   | Compare the two given UDP endpoints.  More...
  | 
|   | 
◆ sock_tcp_ep_equal()
Compare the two given TCP endpoints. 
The given endpoint identifiers are compared by checking their address family, their addresses, and their port value.
- Parameters
 - 
  
    | [in] | a | Endpoint A  | 
    | [in] | b | Endpoint B | 
  
   
- Returns
 - true if given endpoint identifiers point to the same destination 
 
- 
false if given endpoint identifiers do not point to the same destination, or if the address family is unknown 
 
Definition at line 182 of file util.h.
 
 
◆ sock_tcp_ep_fmt()
  
  
      
        
          | static int sock_tcp_ep_fmt  | 
          ( | 
          const sock_tcp_ep_t *  | 
          endpoint,  | 
         
        
           | 
           | 
          char *  | 
          addr_str,  | 
         
        
           | 
           | 
          uint16_t *  | 
          port  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Format TCP endpoint to string and port. 
- Parameters
 - 
  
    | [in] | endpoint | endpoint to format  | 
    | [out] | addr_str | where to write address as string  | 
    | [out] | port | where to write port number as uint16_t | 
  
   
- Returns
 - number of bytes written to 
addr_str on success  
- 
<0 otherwise 
 
Definition at line 61 of file util.h.
 
 
◆ sock_tcp_str2ep()
  
  
      
        
          | static int sock_tcp_str2ep  | 
          ( | 
          sock_tcp_ep_t *  | 
          ep_out,  | 
         
        
           | 
           | 
          const char *  | 
          str  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Convert string to TCP endpoint. 
Takes eg., "[2001:db8::1]:1234" and converts it into the corresponding UDP endpoint structure.
- Parameters
 - 
  
    | [out] | ep_out | endpoint structure to fill  | 
    | [in] | str | string to read from | 
  
   
- Returns
 - 0 on success 
 
- 
<0 otherwise 
 
Definition at line 131 of file util.h.
 
 
◆ sock_tl_ep_equal()
Compare the two given common IP-based transport layer endpoints. 
The given endpoint identifiers are compared by checking their address family, their addresses, and their port value.
- Parameters
 - 
  
    | [in] | a | Endpoint A  | 
    | [in] | b | Endpoint B | 
  
   
- Returns
 - true if given endpoint identifiers point to the same destination 
 
- 
false if given endpoint identifiers do not point to the same destination, or if the address family is unknown 
 
 
 
◆ sock_tl_ep_fmt()
      
        
          | int sock_tl_ep_fmt  | 
          ( | 
          const struct _sock_tl_ep *  | 
          endpoint,  | 
        
        
           | 
           | 
          char *  | 
          addr_str,  | 
        
        
           | 
           | 
          uint16_t *  | 
          port  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Format common IP-based transport layer endpoint to string and port. 
- Parameters
 - 
  
    | [in] | endpoint | endpoint to format  | 
    | [out] | addr_str | where to write address as string  | 
    | [out] | port | where to write port number as uint16_t | 
  
   
- Returns
 - number of bytes written to 
addr_str on success  
- 
<0 otherwise 
 
 
 
◆ sock_tl_str2ep()
      
        
          | int sock_tl_str2ep  | 
          ( | 
          struct _sock_tl_ep *  | 
          ep_out,  | 
        
        
           | 
           | 
          const char *  | 
          str  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Convert string to common IP-based transport layer endpoint. 
Takes eg., "[2001:db8::1]:1234" and converts it into the corresponding UDP endpoint structure.
- Parameters
 - 
  
    | [out] | ep_out | endpoint structure to fill  | 
    | [in] | str | string to read from | 
  
   
- Returns
 - 0 on success 
 
- 
<0 otherwise 
 
 
 
◆ sock_udp_ep_equal()
Compare the two given UDP endpoints. 
The given endpoint identifiers are compared by checking their address family, their addresses, and their port value.
- Parameters
 - 
  
    | [in] | a | Endpoint A  | 
    | [in] | b | Endpoint B | 
  
   
- Returns
 - true if given endpoint identifiers point to the same destination 
 
- 
false if given endpoint identifiers do not point to the same destination, or if the address family is unknown 
 
Definition at line 201 of file util.h.
 
 
◆ sock_udp_ep_fmt()
  
  
      
        
          | static int sock_udp_ep_fmt  | 
          ( | 
          const sock_udp_ep_t *  | 
          endpoint,  | 
         
        
           | 
           | 
          char *  | 
          addr_str,  | 
         
        
           | 
           | 
          uint16_t *  | 
          port  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Format UDP endpoint to string and port. 
- Parameters
 - 
  
    | [in] | endpoint | endpoint to format  | 
    | [out] | addr_str | where to write address as string  | 
    | [out] | port | where to write port number as uint16_t | 
  
   
- Returns
 - number of bytes written to 
addr_str on success  
- 
<0 otherwise 
 
Definition at line 77 of file util.h.
 
 
◆ sock_udp_str2ep()
  
  
      
        
          | static int sock_udp_str2ep  | 
          ( | 
          sock_udp_ep_t *  | 
          ep_out,  | 
         
        
           | 
           | 
          const char *  | 
          str  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Convert string to UDP endpoint. 
Takes eg., "[2001:db8::1]:1234" and converts it into the corresponding UDP endpoint structure.
- Parameters
 - 
  
    | [out] | ep_out | endpoint structure to fill  | 
    | [in] | str | string to read from | 
  
   
- Returns
 - 0 on success 
 
- 
<0 otherwise 
 
Definition at line 148 of file util.h.
 
 
◆ sock_urlsplit()
      
        
          | int sock_urlsplit  | 
          ( | 
          const char *  | 
          url,  | 
        
        
           | 
           | 
          char *  | 
          hostport,  | 
        
        
           | 
           | 
          char *  | 
          urlpath  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Split url to host:port and url path. 
Will split e.g., "https://host.name:1234/url/path" into "host.name:1234" and "/url/path".
- Note
 - Caller has to make sure hostport and urlpath can hold the results! Make sure to provide space for CONFIG_SOCK_HOSTPORT_MAXLEN respectively CONFIG_SOCK_URLPATH_MAXLEN bytes, if pointers are not NULL. Scheme part of the URL is limited to CONFIG_SOCK_SCHEME_MAXLEN length.
 
- Precondition
 url != NULL
- Parameters
 - 
  
    | [in] | url | URL to split. Must not be NULL.  | 
    | [out] | hostport | where to write host:port. Can be NULL.  | 
    | [out] | urlpath | where to write url path. Can be NULL. | 
  
   
- Returns
 - 0 on success 
 
- 
<0 otherwise