Ardour
9.0-pre0-582-g084a23a80d
lzio.h
Go to the documentation of this file.
1
/*
2
** $Id: lzio.h,v 1.31.1.1 2017/04/19 17:20:42 roberto Exp $
3
** Buffered streams
4
** See Copyright Notice in lua.h
5
*/
6
7
8
#ifndef lzio_h
9
#define lzio_h
10
11
#include "
lua.h
"
12
13
#include "
lmem.h
"
14
15
16
#define EOZ (-1)
/* end of stream */
17
18
typedef
struct
Zio
ZIO
;
19
20
#define zgetc(z) (((z)->n--)>0 ? cast_uchar(*(z)->p++) : luaZ_fill(z))
21
22
23
typedef
struct
Mbuffer
{
24
char
*
buffer
;
25
size_t
n
;
26
size_t
buffsize
;
27
}
Mbuffer
;
28
29
#define luaZ_initbuffer(L, buff) ((buff)->buffer = NULL, (buff)->buffsize = 0)
30
31
#define luaZ_buffer(buff) ((buff)->buffer)
32
#define luaZ_sizebuffer(buff) ((buff)->buffsize)
33
#define luaZ_bufflen(buff) ((buff)->n)
34
35
#define luaZ_buffremove(buff,i) ((buff)->n -= (i))
36
#define luaZ_resetbuffer(buff) ((buff)->n = 0)
37
38
39
#define luaZ_resizebuffer(L, buff, size) \
40
((buff)->buffer = luaM_reallocvchar(L, (buff)->buffer, \
41
(buff)->buffsize, size), \
42
(buff)->buffsize = size)
43
44
#define luaZ_freebuffer(L, buff) luaZ_resizebuffer(L, buff, 0)
45
46
47
LUAI_FUNC
void
luaZ_init
(
lua_State
*L,
ZIO
*z,
lua_Reader
reader,
48
void
*data);
49
LUAI_FUNC
size_t
luaZ_read
(
ZIO
* z,
void
*b,
size_t
n);
/* read next n bytes */
50
51
52
53
/* --------- Private Part ------------------ */
54
55
struct
Zio
{
56
size_t
n
;
/* bytes still unread */
57
const
char
*
p
;
/* current position in buffer */
58
lua_Reader
reader
;
/* reader function */
59
void
*
data
;
/* additional data */
60
lua_State
*
L
;
/* Lua state (for reader) */
61
};
62
63
64
LUAI_FUNC
int
luaZ_fill
(
ZIO
*z);
65
66
#endif
lmem.h
lua.h
lua_Reader
const char *(* lua_Reader)(lua_State *L, void *ud, size_t *sz)
Definition:
lua-5.3.5/lua.h:116
LUAI_FUNC
#define LUAI_FUNC
Definition:
luaconf.h:282
Mbuffer
struct Mbuffer Mbuffer
luaZ_fill
int luaZ_fill(ZIO *z)
luaZ_read
size_t luaZ_read(ZIO *z, void *b, size_t n)
luaZ_init
void luaZ_init(lua_State *L, ZIO *z, lua_Reader reader, void *data)
Mbuffer
Definition:
lzio.h:23
Mbuffer::buffsize
size_t buffsize
Definition:
lzio.h:26
Mbuffer::buffer
char * buffer
Definition:
lzio.h:24
Mbuffer::n
size_t n
Definition:
lzio.h:25
Zio
Definition:
lzio.h:55
Zio::p
const char * p
Definition:
lzio.h:57
Zio::reader
lua_Reader reader
Definition:
lzio.h:58
Zio::L
lua_State * L
Definition:
lzio.h:60
Zio::data
void * data
Definition:
lzio.h:59
Zio::n
size_t n
Definition:
lzio.h:56
lua_State
Definition:
lstate.h:178
libs
lua
lua-5.3.5
lzio.h
Generated on Wed Dec 25 2024 05:44:34 for Ardour by
1.9.1