mirror of
https://github.com/neovim/neovim.git
synced 2025-09-30 23:18:33 +00:00
56 lines
2.2 KiB
C
56 lines
2.2 KiB
C
#ifndef MPACK_CONV_H
|
|
#define MPACK_CONV_H
|
|
|
|
#include "mpack_core.h"
|
|
|
|
#if ULLONG_MAX == 0xffffffffffffffff
|
|
typedef long long mpack_sintmax_t;
|
|
typedef unsigned long long mpack_uintmax_t;
|
|
#elif UINT64_MAX == 0xffffffffffffffff
|
|
typedef int64_t mpack_sintmax_t;
|
|
typedef uint64_t mpack_uintmax_t;
|
|
#else
|
|
typedef mpack_sint32_t mpack_sintmax_t;
|
|
typedef mpack_uint32_t mpack_uintmax_t;
|
|
#endif
|
|
|
|
#ifndef bool
|
|
# define bool unsigned
|
|
#endif
|
|
|
|
MPACK_API mpack_token_t mpack_pack_nil(void) FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_boolean(unsigned v) FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_uint(mpack_uintmax_t v) FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_sint(mpack_sintmax_t v) FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_float_compat(double v) FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_float_fast(double v) FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_number(double v) FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_chunk(const char *p, mpack_uint32_t l)
|
|
FUNUSED FPURE FNONULL;
|
|
MPACK_API mpack_token_t mpack_pack_str(mpack_uint32_t l) FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_bin(mpack_uint32_t l) FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_ext(int type, mpack_uint32_t l)
|
|
FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_array(mpack_uint32_t l) FUNUSED FPURE;
|
|
MPACK_API mpack_token_t mpack_pack_map(mpack_uint32_t l) FUNUSED FPURE;
|
|
MPACK_API bool mpack_unpack_boolean(mpack_token_t t) FUNUSED FPURE;
|
|
MPACK_API mpack_uintmax_t mpack_unpack_uint(mpack_token_t t) FUNUSED FPURE;
|
|
MPACK_API mpack_sintmax_t mpack_unpack_sint(mpack_token_t t) FUNUSED FPURE;
|
|
MPACK_API double mpack_unpack_float_fast(mpack_token_t t) FUNUSED FPURE;
|
|
MPACK_API double mpack_unpack_float_compat(mpack_token_t t) FUNUSED FPURE;
|
|
MPACK_API double mpack_unpack_number(mpack_token_t t) FUNUSED FPURE;
|
|
|
|
/* The mpack_{pack,unpack}_float_fast functions should work in 99% of the
|
|
* platforms. When compiling for a platform where floats don't use ieee754 as
|
|
* the internal format, pass
|
|
* -Dmpack_{pack,unpack}_float=mpack_{pack,unpack}_float_compat to the
|
|
* compiler.*/
|
|
#ifndef mpack_pack_float
|
|
# define mpack_pack_float mpack_pack_float_fast
|
|
#endif
|
|
#ifndef mpack_unpack_float
|
|
# define mpack_unpack_float mpack_unpack_float_fast
|
|
#endif
|
|
|
|
#endif /* MPACK_CONV_H */
|