File broker_admin_so.h¶
File List > broker > broker_admin_so.h
Go to the documentation of this file
/*
* Copyright 2008 Search Solution Corporation
* Copyright 2016 CUBRID Corporation
*
* Licensed 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.
*
*/
/*
* broker_admin_so.h -
*/
#ifndef _BROKER_ADMIN_SO_H_
#define _BROKER_ADMIN_SO_H_
#ident "$Id$"
#include "porting.h"
#include <time.h>
#if defined(WINDOWS)
#define DLL_EXPORT __declspec(dllexport)
#else /* WINDOWS */
#define DLL_EXPORT
#endif /* WINDOWS */
#define FLAG_ON 1
#define FLAG_OFF 0
#define FLAG_SUSPEND 2
#define FLAG_READ_WRITE 0
#define FLAG_READ_ONLY 1
#define FLAG_SLAVE_ONLY 2
#if !defined (SRV_CON_DBNAME_SIZE)
#define SRV_CON_DBNAME_SIZE 32
#endif /* !SRV_CON_DBNAME_SIZE */
enum t_as_status
{
AS_STATUS_IDLE,
AS_STATUS_BUSY,
AS_STATUS_RESTART,
AS_STATUS_CLIENT_WAIT,
AS_STATUS_CLOSE_WAIT
};
typedef enum t_as_status T_AS_STATUS;
typedef struct t_job_info T_JOB_INFO;
struct t_job_info
{
int id;
int priority;
unsigned char ip[4];
time_t recv_time;
char script[32];
char prgname[32];
};
typedef struct t_as_info T_AS_INFO;
struct t_as_info
{
char service_flag;
int pid;
int num_request;
int as_port;
T_AS_STATUS status;
time_t last_access_time;
int psize;
int num_thr;
int cpu_time;
float pcpu;
char clt_ip_addr[20];
char clt_appl_name[32];
char request_file[64];
char log_msg[64];
char database_name[SRV_CON_DBNAME_SIZE];
char database_host[CUB_MAXHOSTNAMELEN];
time_t last_connect_time;
INT64 num_requests_received;
INT64 num_transactions_processed;
INT64 num_queries_processed;
INT64 num_long_queries;
INT64 num_long_transactions;
INT64 num_error_queries;
INT64 num_interrupts;
};
typedef struct t_br_info T_BR_INFO;
struct t_br_info
{
char name[32];
char as_type[4];
int pid;
int shm_id;
int port;
int num_as;
int max_as;
int min_as;
int num_job_q;
int num_thr;
float pcpu;
int cpu_time;
int num_busy_count;
int num_req;
INT64 num_tran;
INT64 num_query;
INT64 num_long_query;
INT64 num_long_tran;
INT64 num_error_query;
INT64 num_interrupts;
int session_timeout;
int as_max_size;
int as_hard_limit;
int time_to_kill;
int long_query_time; /* msec */
int long_transaction_time; /* msec */
char keep_connection;
char status;
char auto_add_flag;
char sql_log_mode;
char slow_log_mode;
char access_mode;
char log_backup_flag;
char source_env_flag;
char access_list_flag;
char log_dir[128];
char slow_log_dir[128];
};
typedef struct t_uc_conf_item T_UC_CONF_ITEM;
struct t_uc_conf_item
{
const char *name;
char *value;
};
typedef struct t_br_conf T_BR_CONF;
struct t_br_conf
{
int num;
T_UC_CONF_ITEM *item;
};
typedef struct t_uc_conf T_UC_CONF;
struct t_uc_conf
{
int num_header;
T_UC_CONF_ITEM *header_conf;
int num_broker;
T_BR_CONF *br_conf;
};
typedef char *(*T_UC_VERSION_F) (void);
typedef int (*T_UC_START_F) (char *);
typedef int (*T_UC_STOP_F) (char *);
typedef int (*T_UC_ADD_F) (char *, char *);
typedef int (*T_UC_RESTART_F) (char *, int, char *);
typedef int (*T_UC_DROP_F) (char *, char *);
typedef int (*T_UC_ON_F) (char *, char *);
typedef int (*T_UC_OFF_F) (char *, char *);
typedef int (*T_UC_SUSPEND_F) (char *, char *);
typedef int (*T_UC_RESUME_F) (char *, char *);
typedef int (*T_UC_JOB_FIRST_F) (char *, int, char *);
typedef int (*T_UC_JOB_QUEUE_F) (char *, char *);
typedef int (*T_UC_AS_INFO_F) (char *, T_AS_INFO **, T_JOB_INFO **, int *, char *);
typedef int (*T_UC_BR_INFO_F) (T_BR_INFO **, char *);
typedef void (*T_UC_INFO_FREE_F) (void *);
typedef int (*T_UC_UNICAS_CONF_F) (T_UC_CONF *, int *, char *);
typedef void (*T_UC_UNICAS_CONF_FREE_F) (T_UC_CONF *);
typedef int (*T_UC_CONF_BROKER_ADD_F) (T_UC_CONF *, char *, char *);
typedef void (*T_UC_CHANGE_CONFIG_F) (T_UC_CONF *, const char *, const char *, const char *);
typedef int (*T_UC_CHANGER_F) (char *, char *, char *, char *);
typedef int (*T_UC_DEL_CAS_LOG_F) (char *, int, char *);
typedef int (*T_UC_GET_ACTIVE_SESSION_WITH_OPENED_SHM) (void *, char *);
typedef void *(*T_UCA_BROKER_SHM_OPEN) (char *err_msg);
typedef int (*T_UCA_GET_BR_NUM_WITH_OPENED_SHM) (void *shm_br, char *err_msg);
typedef int (*T_UCA_GET_BR_NAME_WITH_OPENED_SHM) (void *shm_br, int br_index, char *name, int buffer_size,
char *err_msg);
typedef void *(*T_UCA_AS_SHM_OPEN) (void *shm_br, int br_index, char *err_msg);
typedef int (*T_UCA_GET_AS_NUM_WITH_OPENED_SHM) (void *shm_br, int br_index, char *err_msg);
typedef int (*T_UCA_GET_AS_REQS_RECEIVED_WITH_OPENED_SHM) (void *shm_as, long long array[], int array_size,
char *err_msg);
typedef int (*T_UCA_GET_AS_TRAN_PROCESSED_WITH_OPENED_SHM) (void *shm_as, long long array[], int array_size,
char *err_msg);
typedef int (*T_UCA_GET_AS_QUERY_PROCESSED_WITH_OPENED_SHM) (void *shm_as, long long array[], int array_size,
char *err_msg);
typedef int (*T_UCA_SHM_DETACH) (void *p);
DLL_EXPORT const char *uc_version (void);
DLL_EXPORT int uc_start (char *err_msg);
DLL_EXPORT int uc_stop (char *err_msg);
DLL_EXPORT int uc_add (const char *br_name, char *err_msg);
DLL_EXPORT int uc_restart (const char *br_name, int as_index, char *err_msg);
DLL_EXPORT int uc_drop (const char *br_name, char *err_msg);
DLL_EXPORT int uc_on (const char *br_name, char *err_msg);
DLL_EXPORT int uc_off (const char *br_name, char *err_msg);
DLL_EXPORT int uc_as_info (const char *br_name, T_AS_INFO ** ret_as_info, T_JOB_INFO ** job_info, int *num_job,
char *err_msg);
DLL_EXPORT void uc_info_free (void *info);
DLL_EXPORT int uc_br_info (T_BR_INFO ** ret_br_info, char *err_msg);
DLL_EXPORT int uc_unicas_conf (T_UC_CONF * unicas_conf, int *ret_mst_shmid, char *err_msg);
DLL_EXPORT void uc_unicas_conf_free (T_UC_CONF * unicas_conf);
DLL_EXPORT int uc_conf_broker_add (T_UC_CONF * unicas_conf, const char *br_name, char *err_msg);
DLL_EXPORT void uc_change_config (T_UC_CONF * unicas_conf, const char *br_name, const char *name, const char *value);
DLL_EXPORT int uc_changer (const char *br_name, const char *name, const char *value, char *err_msg);
DLL_EXPORT int uc_cas_changer (const char *br_name, const char *name, const char *value, int as_number, char *err_msg);
DLL_EXPORT int uc_del_cas_log (const char *br_name, int asid, char *errmsg);
DLL_EXPORT int uc_get_active_session_with_opened_shm (void *, char *);
DLL_EXPORT void *uc_broker_shm_open (char *err_msg);
DLL_EXPORT int uc_get_br_num_with_opened_shm (void *shm_br, char *err_msg);
DLL_EXPORT int uc_get_br_name_with_opened_shm (void *shm_br, int br_index, char *name, int buffer_size, char *err_msg);
DLL_EXPORT void *uc_as_shm_open (void *shm_br, int br_index, char *err_msg);
DLL_EXPORT int uc_get_as_num_with_opened_shm (void *shm_br, int br_index, char *err_msg);
DLL_EXPORT int uc_get_as_reqs_received_with_opened_shm (void *shm_as, long long array[], int array_size, char *err_msg);
DLL_EXPORT int uc_get_as_tran_processed_with_opened_shm (void *shm_as, long long array[], int array_size,
char *err_msg);
DLL_EXPORT int uc_get_as_query_processed_with_opened_shm (void *shm_as, long long array[], int array_size,
char *err_msg);
DLL_EXPORT void uc_shm_detach (void *p);
#endif /* _BROKER_ADMIN_SO_H_ */