nr_free_pages 800939
nr_zone_inactive_anon 90502
nr_zone_active_anon 283816
nr_zone_inactive_file 467981
nr_zone_active_file 118606
nr_zone_unevictable 1046
nr_zone_write_pending 79
nr_mlock 46
nr_bounce 0
nr_zspages 0
nr_free_cma 0
nr_unaccepted 0
numa_hit 69541378153
numa_miss 0
numa_foreign 0
numa_interleave 974
numa_local 69541423476
numa_other 0
nr_inactive_anon 90502
nr_active_anon 283816
nr_inactive_file 467981
nr_active_file 118606
nr_unevictable 1046
nr_slab_reclaimable 121929
nr_slab_unreclaimable 46649
nr_isolated_anon 0
nr_isolated_file 0
workingset_nodes 48290
workingset_refault_anon 16748415
workingset_refault_file 144773757
workingset_activate_anon 4995043
workingset_activate_file 51644074
workingset_restore_anon 4990720
workingset_restore_file 20979705
workingset_nodereclaim 4062107
nr_anon_pages 334936
nr_mapped 25487
nr_file_pages 645268
nr_dirty 79
nr_writeback 0
nr_writeback_temp 0
nr_shmem 13480
nr_shmem_hugepages 0
nr_shmem_pmdmapped 0
nr_file_hugepages 0
nr_file_pmdmapped 0
nr_anon_transparent_hugepages 219
nr_vmscan_write 24258110
nr_vmscan_immediate_reclaim 6
nr_dirtied 994342245
nr_written 1013394418
nr_throttled_written 0
nr_kernel_misc_reclaimable 0
nr_foll_pin_acquired 23219
nr_foll_pin_released 23219
nr_kernel_stack 8640
nr_page_table_pages 4196
nr_sec_page_table_pages 0
nr_iommu_pages 0
nr_swapcached 45199
pgpromote_success 0
pgpromote_candidate 0
  *   ˆl–ßi~”JClÊqA
àœ¸ËÊbÑ¿Äƒh-µ_†I|¥�+ÃÂ :    /* Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * @file  mod_dbd.h
 * @brief Database Access Extension Module for Apache
 *
 * Overview of what this is and does:
 * http://www.apache.org/~niq/dbd.html
 * or
 * http://apache.webthing.com/database/
 *
 * @defgroup MOD_DBD mod_dbd
 * @ingroup APACHE_MODS
 * @{
 */

#ifndef DBD_H
#define DBD_H

/* Create a set of DBD_DECLARE(type), DBD_DECLARE_NONSTD(type) and
 * DBD_DECLARE_DATA with appropriate export and import tags for the platform
 */
#if !defined(WIN32)
#define DBD_DECLARE(type)            type
#define DBD_DECLARE_NONSTD(type)     type
#define DBD_DECLARE_DATA
#elif defined(DBD_DECLARE_STATIC)
#define DBD_DECLARE(type)            type __stdcall
#define DBD_DECLARE_NONSTD(type)     type
#define DBD_DECLARE_DATA
#elif defined(DBD_DECLARE_EXPORT)
#define DBD_DECLARE(type)            __declspec(dllexport) type __stdcall
#define DBD_DECLARE_NONSTD(type)     __declspec(dllexport) type
#define DBD_DECLARE_DATA             __declspec(dllexport)
#else
#define DBD_DECLARE(type)            __declspec(dllimport) type __stdcall
#define DBD_DECLARE_NONSTD(type)     __declspec(dllimport) type
#define DBD_DECLARE_DATA             __declspec(dllimport)
#endif

#include <httpd.h>
#include <apr_optional.h>
#include <apr_hash.h>
#include <apr_hooks.h>

typedef struct {
    server_rec *server;
    const char *name;
    const char *params;
    int persist;
#if APR_HAS_THREADS
    int nmin;
    int nkeep;
    int nmax;
    int exptime;
    int set;
#endif
    apr_hash_t *queries;
    apr_array_header_t *init_queries;
} dbd_cfg_t;

typedef struct {
    apr_dbd_t *handle;
    const apr_dbd_driver_t *driver;
    apr_hash_t *prepared;
    apr_pool_t *pool;
} ap_dbd_t;

/* Export functions to access the database */

/* acquire a connection that MUST be explicitly closed.
 * Returns NULL on error
 */
DBD_DECLARE_NONSTD(ap_