Idris2/support/refc/buffer.h
2021-06-14 15:06:44 +01:00

29 lines
855 B
C

#ifndef __IDRIS_BUFFER_H__
#define __IDRIS_BUFFER_H__
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
void* newBuffer(int bytes);
void freeBuffer(void* buf);
int getBufferSize(void* buffer);
void setBufferByte(void* buffer, int loc, int byte);
void setBufferInt(void* buffer, int loc, int64_t val);
void setBufferDouble(void* buffer, int loc, double val);
void setBufferString(void* buffer, int loc, char* str);
size_t writeBufferData(FILE* h, void* buffer, size_t loc, size_t len);
void copyBuffer(void* from, int start, int len,
void* to, int loc);
uint8_t getBufferByte(void* buffer, int loc);
int64_t getBufferInt(void* buffer, int loc);
double getBufferDouble(void* buffer, int loc);
char* getBufferString(void* buffer, int loc, int len);
size_t readBufferData(FILE* h, void* buffer, size_t loc, size_t max);
#endif