0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 #ifndef NDRX_H
0036 #define NDRX_H
0037
0038 #ifdef __cplusplus
0039 extern "C" {
0040 #endif
0041
0042
0043 #include <sys/param.h>
0044 #include <atmi.h>
0045 #include <sys_mqueue.h>
0046 #include <signal.h>
0047 #include <linenoise.h>
0048
0049 #include <ndrxdcmn.h>
0050 #include <gencall.h>
0051 #include <inicfg.h>
0052
0053 #ifndef NDRX_DISABLEPSCRIPT
0054 #include <pscript.h>
0055 #endif
0056
0057
0058 #define MAX_ARGS 20
0059
0060 #define CMD_MAX PATH_MAX
0061 #define MAX_ARG_LEN 500
0062 #define ARG_DEILIM " \t"
0063 #define MAX_CMD_LEN 300
0064
0065 #define NDRX_XADMIN_IDLEREQ 1
0066 #define NDRX_XADMIN_RPLYQREQ 2
0067
0068 extern int G_cmd_argc_logical;
0069 extern int G_cmd_argc_raw;
0070 extern char *G_cmd_argv[MAX_ARGS];
0071
0072 #define NDRXD_STAT_NOT_STARTED 0
0073 #define NDRXD_STAT_MALFUNCTION 1
0074 #define NDRXD_STAT_RUNNING 2
0075
0076
0077 #define FIX_SVC_NM(Xsrc, Xbuf, Xlen) \
0078 if (strlen(Xsrc) > Xlen)\
0079 {\
0080 strncpy(Xbuf, Xsrc, Xlen-1);\
0081 Xbuf[Xlen-1] = '+';\
0082 Xbuf[Xlen] = EXEOS;\
0083 }\
0084 else\
0085 strcpy(Xbuf, Xsrc);
0086
0087 #define FIX_SVC_NM_DIRECT(Xbuf, Xlen) \
0088 if (strlen(Xbuf) > Xlen)\
0089 {\
0090 Xbuf[Xlen-1] = '+';\
0091 Xbuf[Xlen] = EXEOS;\
0092 }
0093
0094 #define XADMIN_INVALID_OPTIONS_MSG "Invalid options, see `help'.\n"
0095
0096
0097
0098
0099
0100 typedef struct ndrx_config
0101 {
0102 char pid_file[PATH_MAX];
0103 mqd_t ndrxd_q;
0104 char ndrxd_q_str[NDRX_MAX_Q_SIZE+1];
0105 char *qprefix;
0106 char *qpath;
0107
0108
0109 mqd_t reply_queue;
0110 char reply_queue_str[NDRX_MAX_Q_SIZE+1];
0111
0112
0113 int ndrxd_stat;
0114 short is_idle;
0115 char *ndrxd_logfile;
0116 long listcall_flags;
0117
0118 key_t ipckey;
0119 } ndrx_config_t;
0120
0121
0122
0123 typedef struct cmd_mapping cmd_mapping_t;
0124 struct cmd_mapping
0125 {
0126 char *cmd;
0127
0128 int (*p_exec_command) (cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0129 int ndrxd_cmd;
0130 int has_args;
0131
0132
0133
0134
0135
0136
0137 int reqidle;
0138 char *help;
0139 int (*p_add_help) (void);
0140 };
0141
0142 extern ndrx_config_t G_config;
0143 extern gencall_args_t G_call_args[];
0144 extern ndrx_inicfg_section_keyval_t *G_xadmin_config;
0145 extern char G_xadmin_config_file[PATH_MAX+1];
0146
0147
0148 extern int start_daemon_idle(void);
0149 extern int load_env_config(void);
0150 extern int ndrx_xadmin_open_rply_q(void);
0151 extern int is_ndrxd_running(pid_t *p_pid, int silent);
0152 extern void simple_output(char *buf);
0153
0154 extern int chk_confirm_clopt(char *message, int argc, char **argv);
0155 extern char * ndrx_xadmin_nodeid(void);
0156 extern int ndrx_start_idle();
0157 extern int ndrx_xadmin_shm_close();
0158 extern int un_init(int closeshm);
0159 extern void sign_chld_handler(int sig);
0160
0161 extern int process_command_buffer(int *p_have_next);
0162
0163 #ifndef NDRX_DISABLEPSCRIPT
0164 extern void printfunc(HPSCRIPTVM v,const PSChar *s,...);
0165 extern void errorfunc(HPSCRIPTVM v,const PSChar *s,...);
0166 extern int load_value(HPSCRIPTVM v, char *key_val_string);
0167 extern int add_defaults_from_config(HPSCRIPTVM v, char *section);
0168 extern int register_getExfields(HPSCRIPTVM v);
0169
0170 #endif
0171
0172 extern int cmd_ldcf(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0173 extern int cmd_start(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0174 extern int cmd_stop(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0175 extern int cmd_sreload(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0176
0177 extern int ss_rsp_process(command_reply_t *reply, size_t reply_len);
0178 extern int cmd_psc(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0179 extern int psc_rsp_process(command_reply_t *reply, size_t reply_len);
0180 extern int cmd_fdown(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0181 extern int cmd_udown(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0182 extern int cmd_cat(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0183 extern int at_rsp_process(command_reply_t *reply, size_t reply_len);
0184 extern int cmd_reload(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0185 extern int cmd_testcfg(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0186 extern int reload_rsp_process(command_reply_t *reply, size_t reply_len);
0187 extern int cmd_r(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0188 extern int cmd_cabort(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0189
0190 extern int cmd_unadv(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0191
0192 extern int cmd_readv(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0193
0194
0195 extern int cmd_ppm(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0196 extern int ppm_rsp_process(command_reply_t *reply, size_t reply_len);
0197
0198
0199 extern int shm_psrv_rsp_process(command_reply_t *reply, size_t reply_len);
0200 extern int cmd_shm_psrv(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0201
0202 extern int shm_psvc_rsp_process(command_reply_t *reply, size_t reply_len);
0203 extern int cmd_shm_psvc(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0204
0205
0206 extern int pq_rsp_process(command_reply_t *reply, size_t reply_len);
0207 extern int cmd_pq(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0208 extern int cmd_pqa(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0209
0210
0211 extern int cmd_pt(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0212 extern int cmd_abort(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0213 extern int cmd_commit(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0214
0215 extern int cmd_recoverlocal(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0216 extern int cmd_commitlocal(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0217 extern int cmd_abortlocal(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0218 extern int cmd_forgetlocal(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0219
0220
0221
0222 extern int cmd_pe(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0223 extern int pe_rsp_process(command_reply_t *reply, size_t reply_len);
0224 extern int cmd_set(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0225 extern int cmd_unset(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0226
0227
0228 extern int cmd_pc(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0229 extern int cmd_sc(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0230 extern int cmd_bc(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0231 extern int cmd_rc(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0232
0233
0234
0235 extern int cmd_mqlq(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0236 extern int cmd_mqlc(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0237 extern int cmd_mqlm(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0238 extern int cmd_mqdm(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0239 extern int cmd_mqrc(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0240 extern int cmd_mqch(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0241 extern int cmd_mqrm(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0242 extern int cmd_mqmv(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0243
0244 extern int mqfilter(char *svcnm);
0245 extern int cmd_killall(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0246
0247
0248 extern int cmd_qrmall(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0249 extern int cmd_qrm(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0250
0251
0252 extern int cmd_provision(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0253
0254
0255 extern int cmd_gen_load_scripts(void);
0256 extern int cmd_gen_help(void);
0257 extern int cmd_gen(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0258
0259
0260 extern int cmd_cs(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0261 extern int cmd_cd(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0262 extern int cmd_ci(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0263
0264
0265 extern int cmd_pubfdb(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0266
0267
0268 #if defined(EX_USE_SYSVQ) || defined(EX_USE_SVAPOLL)
0269 extern int cmd_svmaps(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0270 #endif
0271
0272 extern int cmd_svqids(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0273 extern int cmd_svsemids(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0274
0275
0276 extern int cmd_ps(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0277
0278
0279 extern int cmd_appconfig(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0280 extern int appconfig_rsp_process(command_reply_t *reply, size_t reply_len);
0281
0282
0283 extern int cmd_dping(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0284 extern int cmd_dsleep(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0285 extern int cmd_dpid(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0286
0287
0288 extern int cmd_lcf_help(void);
0289 extern int cmd_lcf(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0290 extern int ndrx_xadmin_lcf_init(void);
0291 extern int cmd_lcf_completion(linenoiseCompletions *lc, char *buf);
0292
0293 extern int cmd_shmcfg(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0294 extern int cmd_prtsvc(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0295 extern int cmd_psg(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0296 extern int cmd_mmon(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0297 extern int cmd_mmoff(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0298
0299
0300 extern int cmd_mibget(cmd_mapping_t *p_cmd_map, int argc, char **argv, int *p_have_next);
0301
0302
0303 extern void ndrx_tab_init(ndrx_growlist_t *table);
0304 extern int ndrx_tab_add_col(ndrx_growlist_t *table, int col_nr, char *str);
0305 extern void ndrx_tab_print(ndrx_growlist_t *table, ndrx_growlist_t *coltypes);
0306 extern void ndrx_tab_free(ndrx_growlist_t *table);
0307
0308
0309 #ifdef __cplusplus
0310 }
0311 #endif
0312
0313 #endif
0314
0315