From 6543fecd7b45cc0232aa4148d0a7be125f4c49ea Mon Sep 17 00:00:00 2001 From: "Anna (navi) Figueiredo Gomes" Date: Mon, 17 Jun 2024 00:03:18 +0200 Subject: *: restructure into subdirectoires and add REUSE --- include/peer.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 include/peer.h (limited to 'include/peer.h') diff --git a/include/peer.h b/include/peer.h new file mode 100644 index 0000000..63de9e5 --- /dev/null +++ b/include/peer.h @@ -0,0 +1,40 @@ +// SPDX-FileCopyrightText: 2024 Lizzy Fleckenstein +// +// SPDX-License-Identifier: AGPL-3.0-or-later + +#ifndef PEER_H +#define PEER_H + +#include +#include +#include + +#define PEER_INBUFFER_SIZE 0x100000 // 1MB +#define PEER_OUTBUFFER_SIZE 0x200000 // 2MB + +typedef uint32_t pkt_header; + +typedef struct { + int socket; + bool disco; + struct { + bool header; + size_t len; + size_t promised; + uint8_t *buffer; + } in; + // TODO: ring buffer + struct { + size_t avail; + size_t cursor; + uint8_t *buffer; + } out; +} peer; + +void peer_init(peer *p, int socket); +void peer_free(peer *p); +short peer_prepare(peer *p); +bool peer_ready(peer *p, short revents); +bool peer_send(peer *p, uint8_t *data, size_t len); + +#endif -- cgit v1.2.3