GRAYBYTE WORDPRESS FILE MANAGER3948

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/include/mysql/server/mysql/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/include/mysql/server/mysql//service_json.h
/* Copyright (C) 2018 MariaDB Corporation

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; version 2 of the License.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */

#ifndef MYSQL_SERVICE_JSON
#define MYSQL_SERVICE_JSON

/**
  @file
  json service

  Exports JSON parsing methods for plugins to use.

  Functions of the service:
    json_type - returns the type of the JSON argument,
       and the parsed value if it's scalar (not object or array)

    json_get_array_item - expects JSON array as an argument,
       and returns the type of the element at index `n_item`.
       Returns JSV_NOTHING type if the array is shorter
       than n_item and the actual length of the array in value_len.
       If successful, then `value` up till `value[value_len]` contains the array
       element at the desired index (n_item).

    json_get_object_key - expects JSON object as an argument,
       searches for a key in the object, return it's type and stores its value in `value`.
       JSV_NOTHING if no such key found, the number of keys
       in v_len.

    json_get_object_nkey - expects JSON object as an argument.
      finds n_key's key in the object, returns it's name, type and value.
      JSV_NOTHING if object has less keys than n_key.
*/


#ifdef __cplusplus
extern "C" {
#endif

enum json_types
{
  JSV_BAD_JSON=-1,
  JSV_NOTHING=0,
  JSV_OBJECT=1,
  JSV_ARRAY=2,
  JSV_STRING=3,
  JSV_NUMBER=4,
  JSV_TRUE=5,
  JSV_FALSE=6,
  JSV_NULL=7
};

extern struct json_service_st {
  enum json_types (*json_type)(const char *js, const char *js_end,
                               const char **value, int *value_len);
  enum json_types (*json_get_array_item)(const char *js, const char *js_end,
                                         int n_item,
                                         const char **value, int *value_len);
  enum json_types (*json_get_object_key)(const char *js, const char *js_end,
                                         const char *key,
                                         const char **value, int *value_len);
  enum json_types (*json_get_object_nkey)(const char *js,const char *js_end,
                             int nkey,
                             const char **keyname, const char **keyname_end,
                             const char **value, int *value_len);
  int (*json_escape_string)(const char *str,const char *str_end,
                          char *json, char *json_end);
  int (*json_unescape_json)(const char *json_str, const char *json_end,
                          char *res, char *res_end);
} *json_service;

#ifdef MYSQL_DYNAMIC_PLUGIN

#define json_type json_service->json_type
#define json_get_array_item json_service->json_get_array_item
#define json_get_object_key json_service->json_get_object_key
#define json_get_object_nkey json_service->json_get_object_nkey
#define json_escape_string json_service->json_escape_string
#define json_unescape_json json_service->json_unescape_json

#else

enum json_types json_type(const char *js, const char *js_end,
                          const char **value, int *value_len);
enum json_types json_get_array_item(const char *js, const char *js_end,
                                    int n_item,
                                    const char **value, int *value_len);
enum json_types json_get_object_key(const char *js, const char *js_end,
                                    const char *key,
                                    const char **value, int *value_len);
enum json_types json_get_object_nkey(const char *js,const char *js_end, int nkey,
                       const char **keyname, const char **keyname_end,
                       const char **value, int *value_len);
int json_escape_string(const char *str,const char *str_end,
                       char *json, char *json_end);
int json_unescape_json(const char *json_str, const char *json_end,
                       char *res, char *res_end);

#endif /*MYSQL_DYNAMIC_PLUGIN*/


#ifdef __cplusplus
}
#endif

#endif /*MYSQL_SERVICE_JSON */



[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
January 01 1970 00:00:00
root / root
0
psi
--
June 18 2025 08:38:22
root / root
0755
auth_dialog_client.h
2.013 KB
May 28 2025 17:32:51
root / root
0644
client_plugin.h
6.179 KB
May 28 2025 17:32:51
root / root
0644
plugin.h
29.193 KB
May 28 2025 17:32:51
root / root
0644
plugin_audit.h
5.407 KB
May 28 2025 17:32:51
root / root
0644
plugin_auth.h
5.273 KB
May 28 2025 17:32:51
root / root
0644
plugin_auth_common.h
4.403 KB
May 28 2025 17:32:51
root / root
0644
plugin_data_type.h
1.27 KB
May 28 2025 17:32:51
root / root
0644
plugin_encryption.h
4.329 KB
May 28 2025 17:32:51
root / root
0644
plugin_ftparser.h
7.648 KB
May 28 2025 17:32:51
root / root
0644
plugin_function.h
1.403 KB
May 28 2025 17:32:51
root / root
0644
plugin_password_validation.h
1.517 KB
May 28 2025 17:32:51
root / root
0644
service_base64.h
2.863 KB
May 28 2025 17:32:51
root / root
0644
service_debug_sync.h
13.262 KB
May 28 2025 17:32:51
root / root
0644
service_encryption.h
5.524 KB
May 28 2025 17:32:51
root / root
0644
service_encryption_scheme.h
5.514 KB
May 28 2025 17:32:51
root / root
0644
service_json.h
4.444 KB
May 28 2025 17:32:51
root / root
0644
service_kill_statement.h
2.021 KB
May 28 2025 17:32:51
root / root
0644
service_log_warnings.h
1.345 KB
May 28 2025 17:32:51
root / root
0644
service_logger.h
3.468 KB
May 28 2025 17:32:51
root / root
0644
service_md5.h
2.069 KB
May 28 2025 17:32:51
root / root
0644
service_my_crypt.h
4.069 KB
May 28 2025 17:32:51
root / root
0644
service_my_print_error.h
2.273 KB
May 28 2025 17:32:51
root / root
0644
service_my_snprintf.h
3.635 KB
May 28 2025 17:32:51
root / root
0644
service_progress_report.h
3.277 KB
May 28 2025 17:32:51
root / root
0644
service_sha1.h
2.111 KB
May 28 2025 17:32:51
root / root
0644
service_sha2.h
5.175 KB
May 28 2025 17:32:51
root / root
0644
service_sql.h
5.014 KB
May 28 2025 17:32:51
root / root
0644
service_thd_alloc.h
4.385 KB
May 28 2025 17:32:51
root / root
0644
service_thd_autoinc.h
1.652 KB
May 28 2025 17:32:51
root / root
0644
service_thd_error_context.h
3.344 KB
May 28 2025 17:32:51
root / root
0644
service_thd_mdl.h
1.252 KB
May 28 2025 17:32:51
root / root
0644
service_thd_rnd.h
1.857 KB
May 28 2025 17:32:51
root / root
0644
service_thd_specifics.h
3.6 KB
May 28 2025 17:32:51
root / root
0644
service_thd_timezone.h
2.237 KB
May 28 2025 17:32:51
root / root
0644
service_thd_wait.h
3.608 KB
May 28 2025 17:32:51
root / root
0644
service_wsrep.h
13.826 KB
May 28 2025 17:32:51
root / root
0644
services.h
1.721 KB
May 28 2025 17:32:51
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF