PebbleOS v4.45.0-179-g439c45a48
Loading...
Searching...
No Matches
transport.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <pbl/bluetooth/responsiveness.h>
#include <pbl/pp/session.h>
#include <pbl/util/uuid.h>

Data Structures

struct  pbl_pp_transport
 A transport. More...
 

Enumerations

enum  pbl_pp_destination : uint8_t { PBL_PP_DESTINATION_SYSTEM , PBL_PP_DESTINATION_APP , PBL_PP_DESTINATION_HYBRID }
 Whose traffic a session carries. More...
 

Functions

struct pbl_pp_session * pbl_pp_session_open (const struct pbl_pp_transport *transport, enum pbl_pp_destination destination, const Uuid *app_uuid)
 Open a session.
 
void pbl_pp_session_close (struct pbl_pp_session *session)
 Close a session and release its resources, dropping any queued data.
 
void pbl_pp_session_set_capabilities (struct pbl_pp_session *session, uint32_t capabilities)
 Set the capabilities of a session.
 
void pbl_pp_session_receive (struct pbl_pp_session *session, const uint8_t *data, size_t length)
 Feed received bytes to a session.
 
void pbl_pp_session_send_next (struct pbl_pp_session *session)
 Schedule a call to the transport's pbl_pp_transport::send_next.
 
size_t pbl_pp_session_send_queue_length (const struct pbl_pp_session *session)
 Get the number of bytes queued for sending.
 
size_t pbl_pp_session_send_queue_copy (struct pbl_pp_session *session, size_t offset, size_t length, uint8_t *data_out)
 Copy queued bytes without removing them.
 
size_t pbl_pp_session_send_queue_peek (const struct pbl_pp_session *session, const uint8_t **data_out)
 Get the next contiguous queued bytes without copying them.
 
void pbl_pp_session_send_queue_consume (struct pbl_pp_session *session, size_t length)
 Remove sent bytes from the queue.