Blame json_object_private.h

Packit Service def718
/*
Packit Service def718
 * $Id: json_object_private.h,v 1.4 2006/01/26 02:16:28 mclark Exp $
Packit Service def718
 *
Packit Service def718
 * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd.
Packit Service def718
 * Michael Clark <michael@metaparadigm.com>
Packit Service def718
 *
Packit Service def718
 * This library is free software; you can redistribute it and/or modify
Packit Service def718
 * it under the terms of the MIT license. See COPYING for details.
Packit Service def718
 *
Packit Service def718
 */
Packit Service def718
Packit Service def718
/**
Packit Service def718
 * @file
Packit Service def718
 * @brief Do not use, json-c internal, may be changed or removed at any time.
Packit Service def718
 */
Packit Service def718
#ifndef _json_object_private_h_
Packit Service def718
#define _json_object_private_h_
Packit Service def718
Packit Service def718
#ifdef __cplusplus
Packit Service def718
extern "C" {
Packit Service def718
#endif
Packit Service def718
Packit Service def718
#define LEN_DIRECT_STRING_DATA 32 /**< how many bytes are directly stored in json_object for strings? */
Packit Service def718
Packit Service def718
typedef void (json_object_private_delete_fn)(struct json_object *o);
Packit Service def718
Packit Service def718
struct json_object
Packit Service def718
{
Packit Service def718
  enum json_type o_type;
Packit Service def718
  json_object_private_delete_fn *_delete;
Packit Service def718
  json_object_to_json_string_fn *_to_json_string;
Packit Service def718
  int _ref_count;
Packit Service def718
  struct printbuf *_pb;
Packit Service def718
  union data {
Packit Service def718
    json_bool c_boolean;
Packit Service def718
    double c_double;
Packit Service def718
    int64_t c_int64;
Packit Service def718
    struct lh_table *c_object;
Packit Service def718
    struct array_list *c_array;
Packit Service def718
    struct {
Packit Service def718
	union {
Packit Service def718
		/* optimize: if we have small strings, we can store them
Packit Service def718
		 * directly. This saves considerable CPU cycles AND memory.
Packit Service def718
		 */
Packit Service def718
		char *ptr;
Packit Service def718
		char data[LEN_DIRECT_STRING_DATA];
Packit Service def718
	} str;
Packit Service def718
        int len;
Packit Service def718
    } c_string;
Packit Service def718
  } o;
Packit Service def718
  json_object_delete_fn *_user_delete;
Packit Service def718
  void *_userdata;
Packit Service def718
};
Packit Service def718
Packit Service def718
void _json_c_set_last_err(const char *err_fmt, ...);
Packit Service def718
Packit Service def718
extern const char *json_number_chars;
Packit Service def718
extern const char *json_hex_chars;
Packit Service def718
Packit Service def718
#ifdef __cplusplus
Packit Service def718
}
Packit Service def718
#endif
Packit Service def718
Packit Service def718
#endif