#pragma once

#include <euler/stream.hpp>
#include <cstddef>

typedef euler::stream FILE;

extern "C" FILE *fopen(const char *filename, const char *mode);
extern "C" void fclose(FILE *stream);

#define SEEK_CUR 2
#define SEEK_END 1
#define SEEK_SET 0

extern "C" int fseek(FILE *stream, long offset, int origin);
extern "C" size_t fread(void *buffer, size_t size, size_t count, FILE *stream);
