MessagePack for C
Loading...
Searching...
No Matches
object.h
Go to the documentation of this file.
1/*
2 * MessagePack for C dynamic typing routine
3 *
4 * Copyright (C) 2008-2009 FURUHASHI Sadayuki
5 *
6 * Distributed under the Boost Software License, Version 1.0.
7 * (See accompanying file LICENSE_1_0.txt or copy at
8 * http://www.boost.org/LICENSE_1_0.txt)
9 */
10#ifndef MSGPACK_OBJECT_H
11#define MSGPACK_OBJECT_H
12
13#include "zone.h"
14#include <stdio.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
27typedef enum {
35#if defined(MSGPACK_USE_LEGACY_NAME_AS_FLOAT)
36 MSGPACK_OBJECT_DOUBLE = MSGPACK_OBJECT_FLOAT, /* obsolete */
37#endif /* MSGPACK_USE_LEGACY_NAME_AS_FLOAT */
44
45
46struct msgpack_object;
48
49typedef struct {
50 uint32_t size;
53
54typedef struct {
55 uint32_t size;
58
59typedef struct {
60 uint32_t size;
61 const char* ptr;
63
64typedef struct {
65 uint32_t size;
66 const char* ptr;
68
69typedef struct {
70 int8_t type;
71 uint32_t size;
72 const char* ptr;
74
75typedef union {
76 bool boolean;
77 uint64_t u64;
78 int64_t i64;
79#if defined(MSGPACK_USE_LEGACY_NAME_AS_FLOAT)
80 double dec; /* obsolete*/
81#endif /* MSGPACK_USE_LEGACY_NAME_AS_FLOAT */
82 double f64;
89
94
99
100#if !defined(_KERNEL_MODE)
101MSGPACK_DLLEXPORT
103#endif
104
105MSGPACK_DLLEXPORT
106int msgpack_object_print_buffer(char *buffer, size_t buffer_size, msgpack_object o);
107
108MSGPACK_DLLEXPORT
110
114#ifdef __cplusplus
115}
116#endif
117
118#endif /* msgpack/object.h */
MSGPACK_DLLEXPORT void msgpack_object_print(FILE *out, msgpack_object o)
msgpack_object_type
Definition object.h:27
MSGPACK_DLLEXPORT int msgpack_object_print_buffer(char *buffer, size_t buffer_size, msgpack_object o)
MSGPACK_DLLEXPORT bool msgpack_object_equal(const msgpack_object x, const msgpack_object y)
@ MSGPACK_OBJECT_STR
Definition object.h:38
@ MSGPACK_OBJECT_BIN
Definition object.h:41
@ MSGPACK_OBJECT_FLOAT64
Definition object.h:33
@ MSGPACK_OBJECT_FLOAT
Definition object.h:34
@ MSGPACK_OBJECT_BOOLEAN
Definition object.h:29
@ MSGPACK_OBJECT_NEGATIVE_INTEGER
Definition object.h:31
@ MSGPACK_OBJECT_FLOAT32
Definition object.h:32
@ MSGPACK_OBJECT_NIL
Definition object.h:28
@ MSGPACK_OBJECT_POSITIVE_INTEGER
Definition object.h:30
@ MSGPACK_OBJECT_ARRAY
Definition object.h:39
@ MSGPACK_OBJECT_EXT
Definition object.h:42
@ MSGPACK_OBJECT_MAP
Definition object.h:40
Definition object.h:49
uint32_t size
Definition object.h:50
struct msgpack_object * ptr
Definition object.h:51
Definition object.h:64
const char * ptr
Definition object.h:66
uint32_t size
Definition object.h:65
Definition object.h:69
const char * ptr
Definition object.h:72
int8_t type
Definition object.h:70
uint32_t size
Definition object.h:71
Definition object.h:95
msgpack_object val
Definition object.h:97
msgpack_object key
Definition object.h:96
Definition object.h:54
struct msgpack_object_kv * ptr
Definition object.h:56
uint32_t size
Definition object.h:55
Definition object.h:59
const char * ptr
Definition object.h:61
uint32_t size
Definition object.h:60
Definition object.h:90
msgpack_object_type type
Definition object.h:91
msgpack_object_union via
Definition object.h:92
Definition object.h:75
msgpack_object_str str
Definition object.h:85
uint64_t u64
Definition object.h:77
msgpack_object_ext ext
Definition object.h:87
msgpack_object_map map
Definition object.h:84
msgpack_object_array array
Definition object.h:83
bool boolean
Definition object.h:76
msgpack_object_bin bin
Definition object.h:86
double f64
Definition object.h:82
int64_t i64
Definition object.h:78