summaryrefslogtreecommitdiffhomepage
path: root/stream.h
blob: 5119fcc7e07c3c5b6e8ae683ad5d6415c639234e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once

#include <lua.h>

struct buffer
{
	char * data;
	int length;
	int offset;
	int next;
	int allocated;
};

struct stream
{
	int fd;
	struct buffer in;
	struct buffer out;
};

int stream_push_new(lua_State *, const int);
int stream_gc(lua_State *);
int stream_read(lua_State *);
int stream_readk(lua_State *, const int, lua_KContext);
int stream_write(lua_State *);
int stream_flush(lua_State *);
int stream_flushk(lua_State *, const int, lua_KContext);
int stream_discard(lua_State *);