C Device API
Initialise and drive one standard Portable Frame Protocol endpoint.
corelib_context_size
size_t corelib_context_size(void);Returns the bytes required for opaque endpoint context storage.
Required context bytes.
corelib_context_alignment
size_t corelib_context_alignment(void);Returns the alignment required for endpoint context storage.
Required byte alignment.
corelib_pending_request_entry_size
size_t corelib_pending_request_entry_size(void);Returns the bytes required for one pending-request entry.
Required entry bytes.
corelib_init
corelib_status_t corelib_init(void *context_memory, size_t context_memory_size, const corelib_config_t *config, corelib_context_t **context);Initialises an endpoint in caller-owned memory.
context_memory Suitably aligned writable context storage. context_memory_size Available context storage bytes. config Endpoint configuration copied by Corelib. context Receives the initialised opaque context on success. Status describing validation or initialisation success.
corelib_reset
corelib_status_t corelib_reset(corelib_context_t *context);Clears protocol state while retaining configuration and registered link.
context Initialised context. Operation status.
corelib_tick
corelib_status_t corelib_tick(corelib_context_t *context, uint64_t monotonic_ms);Advances deadlines, heartbeats, and queued-frame transmission.
context Initialised context. monotonic_ms Non-decreasing monotonic time. Operation status.
corelib_add_link
corelib_status_t corelib_add_link(corelib_context_t *context, corelib_link_id_t link_id, void *transport_context);Registers the endpoint's single dedicated PFP link.
context Initialised context. link_id Non-zero application link identifier. transport_context Opaque value returned to the send callback. Operation status.
corelib_remove_link
corelib_status_t corelib_remove_link(corelib_context_t *context, corelib_link_id_t link_id);Removes the registered link and clears its protocol state.
context Initialised context. link_id Registered link identifier. Operation status.
corelib_receive_frame
corelib_status_t corelib_receive_frame(corelib_context_t *context, corelib_link_id_t link_id, const uint8_t frame[CORELIB_FRAME_SIZE], uint64_t monotonic_ms);Processes one complete 64-byte PFP frame.
context Initialised context. link_id Receiving link. frame Complete borrowed frame. monotonic_ms Non-decreasing monotonic time. Frame-processing status.
corelib_accept_bootstrap_assignment
corelib_status_t corelib_accept_bootstrap_assignment(corelib_context_t *context, const corelib_bootstrap_assignment_t *assignment, uint64_t monotonic_ms);Activates a profile-delivered downstream assignment.
context Initialised inactive endpoint. assignment Assignment matching this node and link. monotonic_ms Non-decreasing monotonic time. Assignment validation status.
corelib_respond
corelib_status_t corelib_respond(corelib_context_t *context, const corelib_transaction_id_t *request, corelib_transaction_result_t result, const uint8_t *data, size_t data_size);Sends an application response for a pending request.
context Initialised context. request Retained request identity. result Application result. data Optional borrowed encoded payload. data_size Payload bytes. Queueing or validation status.
corelib_publish
corelib_status_t corelib_publish(corelib_context_t *context, bool common, uint32_t share_id, const uint8_t *data, size_t data_size);Publishes an encoded Common or Share payload.
context Initialised context. common True for Common and false for Share. share_id Schema identifier. data Borrowed encoded payload. data_size Payload bytes. Queueing or validation status.
corelib_version
corelib_version_t corelib_version(void);Returns compile-time Corelib and protocol versions.
Version values.
corelib_usage
corelib_status_t corelib_usage(const corelib_context_t *context, corelib_usage_t *usage);Reads current resource usage.
context Initialised context. usage Receives a consistent usage snapshot. Operation status.
corelib_limits
corelib_status_t corelib_limits(const corelib_context_t *context, corelib_limits_t *limits);Reads fixed context capacities.
context Initialised context. limits Receives configured limits. Operation status.
