PebbleOS v4.45.0-179-g439c45a48
Loading...
Searching...
No Matches
endpoint.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <pbl/kernel/compiler.h>
#include <pbl/kernel/section.h>
#include <pbl/pp/protocol.h>

Data Structures

struct  pbl_pp_receiver_api
 Buffers inbound payloads and hands complete messages over. More...
 
struct  pbl_pp_endpoint
 An endpoint. More...
 

Macros

#define PBL_PP_ENDPOINT_DEFINE(_id, _access, _handler)    PBL_PP__ENDPOINT_DEFINE(_id, _access, _handler, NULL, PBL_PP_HANDLER_BG)
 Define an endpoint whose handler runs on KernelBG.
 
#define PBL_PP_ENDPOINT_DEFINE_MAIN(_id, _access, _handler)    PBL_PP__ENDPOINT_DEFINE(_id, _access, _handler, NULL, PBL_PP_HANDLER_MAIN)
 Define an endpoint whose handler runs on KernelMain.
 
#define PBL_PP_ENDPOINT_DEFINE_RECEIVER(_id, _access, _receiver)    PBL_PP__ENDPOINT_DEFINE(_id, _access, NULL, &(_receiver), PBL_PP_HANDLER_BG)
 Define an endpoint with its own receiver.
 

Typedefs

typedef void(* pbl_pp_endpoint_handler_t) (struct pbl_pp_session *session, const uint8_t *data, size_t length)
 Endpoint handler.
 

Enumerations

enum  pbl_pp_access : uint8_t { PBL_PP_ACCESS_NONE = 0 , PBL_PP_ACCESS_PUBLIC = 1U << 0 , PBL_PP_ACCESS_PRIVATE = 1U << 1 , PBL_PP_ACCESS_ANY = PBL_PP_ACCESS_PUBLIC | PBL_PP_ACCESS_PRIVATE }
 Who may send messages to an endpoint. More...
 
enum  pbl_pp_handler_task : uint8_t { PBL_PP_HANDLER_BG , PBL_PP_HANDLER_MAIN }
 Task the default receiver runs an endpoint handler on. More...
 

Variables

const struct pbl_pp_receiver_api pbl_pp_kernel_receiver
 The default receiver.