Abandonment of the project
This commit is contained in:
57
medium.h
Normal file
57
medium.h
Normal file
@@ -0,0 +1,57 @@
|
||||
#ifndef __MEDIUM_H
|
||||
#define __MEDIUM_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <sys/epoll.h>
|
||||
|
||||
/*
|
||||
* Type definitions
|
||||
*/
|
||||
typedef bool (*cbmed_on_init_t)();
|
||||
typedef void (*cbmed_on_deinit_t)();
|
||||
typedef void (*cbmed_on_timer_t)(uint32_t id);
|
||||
typedef void (*cbmed_on_fd_event_t)(int fd, uint32_t events);
|
||||
typedef int32_t (*cbmed_on_send_data_t)(const void *data, int32_t size);
|
||||
|
||||
/*
|
||||
* Public API
|
||||
*/
|
||||
// Set callbacks to use to utilize medium.
|
||||
void medium_set_callbacks(
|
||||
cbmed_on_init_t on_init,
|
||||
cbmed_on_deinit_t on_deinit,
|
||||
cbmed_on_timer_t on_timer,
|
||||
cbmed_on_fd_event_t on_fd_event,
|
||||
cbmed_on_send_data_t on_send_data
|
||||
);
|
||||
|
||||
// Modify epoll.
|
||||
// Remarks:
|
||||
// - see `man epoll_ctl`
|
||||
void medium_epoll_ctl(int op, int fd, struct epoll_event *ev);
|
||||
|
||||
// Use this when you have received data from medium.
|
||||
// Parameters:
|
||||
// - data - data you received
|
||||
// - size - size of data
|
||||
void medium_on_recv_data(const void *data, int32_t size);
|
||||
|
||||
// Call when you become ready/not ready to send data.
|
||||
// Parameters:
|
||||
// - state - true = ready; false = not ready
|
||||
void medium_set_ready_to_send(bool state);
|
||||
|
||||
// Set max size of data you are ready to accept for sending.
|
||||
// Parameters:
|
||||
// - size - size of data
|
||||
void medium_set_max_send_size(int32_t size);
|
||||
|
||||
// Start timer.
|
||||
// Parameters:
|
||||
// - id - timer ID
|
||||
// - ms - milliseconds to wait
|
||||
void medium_start_timer(uint32_t id, int32_t ms);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user