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
29
30
31
32
33
34
35
36
37
38
|
/*
* Copyright (C) Alexander Borisov
* Copyright (C) NGINX, Inc.
*/
#ifndef _NJS_BUFFER_H_INCLUDED_
#define _NJS_BUFFER_H_INCLUDED_
typedef njs_int_t (*njs_buffer_encode_t)(njs_vm_t *vm, njs_value_t *value,
const njs_str_t *src);
typedef size_t (*njs_buffer_encode_length_t)(const njs_str_t *src,
size_t *out_size);
typedef struct {
njs_str_t name;
njs_buffer_encode_t encode;
njs_buffer_encode_t decode;
njs_buffer_encode_length_t decode_length;
} njs_buffer_encoding_t;
njs_int_t njs_buffer_set(njs_vm_t *vm, njs_value_t *value, const u_char *start,
uint32_t size);
njs_int_t njs_buffer_new(njs_vm_t *vm, njs_value_t *value, const u_char *start,
uint32_t size);
const njs_buffer_encoding_t *njs_buffer_encoding(njs_vm_t *vm,
njs_value_t *value, njs_bool_t thrw);
njs_int_t njs_buffer_decode_string(njs_vm_t *vm, const njs_value_t *value,
njs_value_t *dst, const njs_buffer_encoding_t *encoding);
extern const njs_object_type_init_t njs_buffer_type_init;
#endif /* _NJS_BUFFER_H_INCLUDED_ */
|