Data Structures | Macros | Typedefs | Enumerations | Functions
mpack_core.h File Reference
#include <assert.h>
#include <limits.h>
#include <stddef.h>

Go to the source code of this file.

Data Structures

struct  mpack_value_s
 
struct  mpack_token_s
 
struct  mpack_tokbuf_s
 

Macros

#define MPACK_API   extern
 
#define FPURE
 
#define FNONULL
 
#define FNONULL_ARG(x)
 
#define FUNUSED
 
#define MPACK_MAX_TOKEN_LEN   9 /* 64-bit ints/floats plus type code */
 
#define MPACK_TOKBUF_INITIAL_VALUE   { { 0 }, { 0, 0, { { 0, 0 } } }, 0, 0, 0 }
 

Typedefs

typedef struct mpack_value_s mpack_value_t
 
typedef struct mpack_token_s mpack_token_t
 
typedef struct mpack_tokbuf_s mpack_tokbuf_t
 

Enumerations

enum  { MPACK_OK = 0, MPACK_EOF = 1, MPACK_ERROR = 2 }
 
enum  mpack_token_type_t {
  MPACK_TOKEN_NIL = 1, MPACK_TOKEN_BOOLEAN = 2, MPACK_TOKEN_UINT = 3, MPACK_TOKEN_SINT = 4,
  MPACK_TOKEN_FLOAT = 5, MPACK_TOKEN_CHUNK = 6, MPACK_TOKEN_ARRAY = 7, MPACK_TOKEN_MAP = 8,
  MPACK_TOKEN_BIN = 9, MPACK_TOKEN_STR = 10, MPACK_TOKEN_EXT = 11
}
 

Functions

MPACK_API void mpack_tokbuf_init (mpack_tokbuf_t *tb) FUNUSED FNONULL
 
MPACK_API int mpack_read (mpack_tokbuf_t *tb, const char **b, size_t *bl, mpack_token_t *tok) FUNUSED FNONULL
 
MPACK_API int mpack_write (mpack_tokbuf_t *tb, char **b, size_t *bl, const mpack_token_t *tok) FUNUSED FNONULL
 

Macro Definition Documentation

◆ FNONULL

#define FNONULL

◆ FNONULL_ARG

#define FNONULL_ARG (   x)

◆ FPURE

#define FPURE

◆ FUNUSED

#define FUNUSED

◆ MPACK_API

#define MPACK_API   extern

◆ MPACK_MAX_TOKEN_LEN

#define MPACK_MAX_TOKEN_LEN   9 /* 64-bit ints/floats plus type code */

◆ MPACK_TOKBUF_INITIAL_VALUE

#define MPACK_TOKBUF_INITIAL_VALUE   { { 0 }, { 0, 0, { { 0, 0 } } }, 0, 0, 0 }

Typedef Documentation

◆ mpack_tokbuf_t

◆ mpack_token_t

typedef struct mpack_token_s mpack_token_t

◆ mpack_value_t

typedef struct mpack_value_s mpack_value_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MPACK_OK 
MPACK_EOF 
MPACK_ERROR 

◆ mpack_token_type_t

Enumerator
MPACK_TOKEN_NIL 
MPACK_TOKEN_BOOLEAN 
MPACK_TOKEN_UINT 
MPACK_TOKEN_SINT 
MPACK_TOKEN_FLOAT 
MPACK_TOKEN_CHUNK 
MPACK_TOKEN_ARRAY 
MPACK_TOKEN_MAP 
MPACK_TOKEN_BIN 
MPACK_TOKEN_STR 
MPACK_TOKEN_EXT 

Function Documentation

◆ mpack_read()

MPACK_API int mpack_read ( mpack_tokbuf_t tb,
const char **  b,
size_t *  bl,
mpack_token_t tok 
)

◆ mpack_tokbuf_init()

MPACK_API void mpack_tokbuf_init ( mpack_tokbuf_t tb)

◆ mpack_write()

MPACK_API int mpack_write ( mpack_tokbuf_t tb,
char **  b,
size_t *  bl,
const mpack_token_t tok 
)