12#include <interface99.h> 
   14#include <smolrtsp/priv/compiler_attrs.h> 
   22#define SmolRTSP_Transport_IFACE                                               \ 
 
   30    vfunc99(int, transmit, VSelf99, SmolRTSP_IoVecSlice bufs)                  \ 
   31    vfunc99(bool, is_full, VSelf99) 
   36#define SmolRTSP_Transport_EXTENDS (SmolRTSP_Droppable) 
   56    SmolRTSP_Writer w, uint8_t channel_id,
 
   57    size_t max_buffer) SMOLRTSP_PRIV_MUST_USE;
 
   83    int fd, 
void *addr, 
size_t len) SMOLRTSP_PRIV_MUST_USE;
 
  103    SMOLRTSP_PRIV_MUST_USE;
 
  114    SMOLRTSP_PRIV_MUST_USE;
 
void * smolrtsp_sockaddr_ip(const struct sockaddr *restrict addr) SMOLRTSP_PRIV_MUST_USE
Returns a pointer to the IP address of addr.
 
interface99(SmolRTSP_Transport)
Defines the SmolRTSP_Transport interface.
 
SmolRTSP_Transport smolrtsp_transport_udp(int fd) SMOLRTSP_PRIV_MUST_USE
Creates a new UDP transport.
 
SmolRTSP_Transport smolrtsp_transport_tcp(SmolRTSP_Writer w, uint8_t channel_id, size_t max_buffer) SMOLRTSP_PRIV_MUST_USE
Creates a new TCP transport.
 
SmolRTSP_Transport smolrtsp_transport_udp_address(int fd, void *addr, size_t len) SMOLRTSP_PRIV_MUST_USE
Creates a new UDP transport with address.
 
int smolrtsp_dgram_socket(int af, const void *restrict addr, uint16_t port) SMOLRTSP_PRIV_MUST_USE
Creates a new datagram socket suitable for smolrtsp_transport_udp.