Files
ipoim/priv_medium.h
Nikita Tyukalov, ASUS, Linux 943d784fd0 Abandonment of the project
2026-07-27 16:27:50 +03:00

49 lines
943 B
C

#ifndef __PRIV_MEDIUM_H
#define __PRIV_MEDIUM_H
#include <stdbool.h>
#include <stdint.h>
#include "medium.h"
/*
* Public data
*/
extern cbmed_on_init_t pm_on_init;
extern cbmed_on_deinit_t pm_on_deinit;
extern cbmed_on_timer_t pm_on_timer;
extern cbmed_on_fd_event_t pm_on_fd_event;
extern cbmed_on_send_data_t pm_on_send_data;
/*
* Public API
*/
// Initialize medium.
// Returns:
// - true on success
// Remarks:
// - you must call medium_<name>_setup_callbacks() before this
bool pm_init();
// Deinitialize medium.
void pm_deinit();
// Transmit data.
// Parameters:
// - id - connection ID
// - data - data to send (copied)
// - size - size of data
void pm_send(uint32_t id, const void *data, uint32_t size);
// Send PT_CONNECT.
// Parameters:
// - id - connection ID
void pm_connect(uint32_t id);
// Send PT_CLOSE.
// Parameters:
// - id - connection ID
void pm_close(uint32_t id);
#endif