1
0
Files
irix-657m-src/eoe/cmd/sss/console/plugins/semui_plugin/ui.h
2022-09-29 17:59:04 +03:00

242 lines
13 KiB
C

#ifndef H_UI_H
#define H_UI_H
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <ssdbapi.h>
#include <ssdberr.h>
#include <sys/types.h>
#include <pwd.h>
#include <stddef.h>
#include "rgPluginAPI.h"
#include "sscHTMLGen.h"
#include "sscPair.h"
#include <time.h>
#include <eventmonapi.h>
#include <sys/stat.h>
#define START 0
#define END 1
#define MAXNUMBERS_OF_KEYS 512
#define MAX_ACTIONS 512
#define MAX_CLASSES 512
#define CHARTYPE 0
#define INTTYPE 1
#define HTMLHEAD 1
#define NOHEAD 0
/* --------------------------------------------------------------------------- */
#ifdef __TIME__
#ifdef __DATE__
#define INCLUDE_TIME_DATE_STRINGS 1
#endif
#endif
/* --------------------------------------------------------------------------- */
#define MYVERSION_MAJOR 1 /* Report Generator PlugIn Major Version number */
#define MYVERSION_MINOR 0 /* Report Generator PlugIn Minor Version number */
/* --------------------------------------------------------------------------- */
/* globals for parsing input */
static char szDefaultUserName[] = ""; /* Default user name */
static char szDefaultPassword[] = ""; /* Default password */
static char szDefaultHostName[] = "localhost"; /* Default host name */
static char szDefaultDatabaseName[] = "ssdb"; /* Default db name */
enum REQUEST {
ACTIONLIST=1, /* Creates an action list */
EVENTLIST, /* Creates an event list */
TYPELIST, /* Creates a tyelist */
MULTISELECT, /* Flag for single select or multiselect */
UPDATEACTION, /* Creates the update action screen with values loaded. If multiselect, new entry screen */
UPDTACTCONFIRM, /* Creates the action screen with values loaded for confirmation. */
RETURNHOSTNAME, /* Returns the hostname */
GETSYSID, /* Returns the sysid */
GETSYSID_UNHID,
DELETEACTION, /* Delete an action screen */
DELETELISTSET, /* Set of events from which action will be deleted */
SETUPDATE, /* Seup screen for update events if MULTISELECT = 1 or entry screen for events if 0 */
UPDATE_EVENT, /* Update the event after getting new parameters */
EVENT_ADD_PAGE,
EVENT_VIEW_PAGE,
EVENT_VIEW_PAGE_CONT,
EVENT_VIEW_CLASS_PAGE_CONT,
EVENT_VIEW_TYPE_PAGE,
EVENT_VIEW_REPORT_PAGE,
EVENT_REPORT_PAGE,
EVREPORT_CONT,
CLASSREPORT_CONT,
TYPEREPORT_CONT,
EVENT_ADD_INFO,
EVENT_REPORT_BY_HOST,
EVENT_REPORT_TYPE_PAGE,
EVENT_REPORT_BY_TYPE_HOST,
EVENT_REPORT_BY_CLASS_HOST,
EVENT_ADD_CONFIRM,
EVENT_UPDT_INFO,
EVENT_UPDT_CONFIRM,
EVENT_UPDATE_ACTION_LIST,
EVENT_ACTION_AUD,
EVENT_ACTION_ADD_CONFIRM,
EVENT_ACTION_UPD_CONFIRM,
EVENT_DELETE,
EVENT_DELETE_LIST,
CREATE_CLASS_LIST,
ACTION_REPORT_BY_ACTION,
ACTIONS_PAGE,
ACTION_VIEW_CONT,
EVENT_ACTION_SPECIFIC_REPORT,
EVENT_ACTIONS_PAGE,
ACTION_TAKEN_REPORT,
ARCHIVE_LIST,
DELETE_ARCHIVE,
ARCHIVE_TABLE
};
/* Local "Session" structure */
typedef struct sss_s_MYSESSION {
unsigned long signature; /* sizeof(mySession) */
struct sss_s_MYSESSION *next; /* next pointer */
int textonly; /* text mode only flag */
int report_type;
} mySession;
static char myTitle[] = "Event Reports";
static const char myLogo[] = "System Event Manager Plugin Server";
static const char szVersion[] = "Version";
static const char szTitle[] = "Title";
static const char szThreadSafe[] = "ThreadSafe";
static const char szUnloadable[] = "Unloadable";
static const char szUnloadTime[] = "UnloadTime";
static const char szAcceptRawCmdString[] = "AcceptRawCmdString"; /* Obligatory attribute name: how plugin will process cmd parameters */
static char szServerNameErrorPrefix[] = "SSS WEB Config Server Error: %s";
static char szVersionStr[64];
static pthread_mutex_t seshFreeListmutex;
static const char szUnloadTimeValue[] = "120"; /* Unload time for this plug in (sec.) */
static const char szThreadSafeValue[] = "0"; /* "Thread Safe" flag value - this plugin is thread safe */
static const char szUnloadableValue[] = "1"; /* "Unloadable" flag value - RG core might unload this plugin from memory */
static const char szAcceptRawCmdStringValue[] = "1"; /* RG server accept "raw" command string like key=value&key2=value&... */
static const char szUserAgent[] = "User-Agent";
static int volatile mutex_inited = 0; /* seshFreeListmutex mutex inited flag */
static mySession *sesFreeList = 0; /* Session free list */
/* UI elements */
void create_action_list(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle, CMDPAIR *cmdp);
void create_type_list(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void create_event_list(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
/* Setup > actions */
void action_parameters(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void update_action_params(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
int deletelistset(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void get_event_set_update(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,ssdb_Error_Handle error_handle);
void delete_action(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void update_eventsetup(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,ssdb_Error_Handle error_handle);
void generate_hostname(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,ssdb_Error_Handle error_handle);
void generate_sysid(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,ssdb_Error_Handle error_handle);
void generate_sysid_unhidden(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,ssdb_Error_Handle error_handle);
int getnumrecords (sscErrorHandle hError,ssdb_Error_Handle error_handle,ssdb_Request_Handle req_handle);
/* Reports */
void event_report_by_host(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_report_by_class_host(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
int generate_system_info(sscErrorHandle hError , mySession *session,char *sysid,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle);
void event_reports_specific(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_reports_byclass(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp,int event_select);
void event_report_type_page(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
/* Action reports */
void event_actions_page(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_action_report(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_action_specific_report(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void view_action_page(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void action_report_by_action(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void view_action_list(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
/* Event setup */
void event_view_page(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_description_view(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_description_class(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_view_configuration(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_view_type_configuration(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_view_report_page(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_add_page(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle);
void event_add_info(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_add_confirm(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_updt_info(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_updt_confirm(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_update_action_list(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_action_delete(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_action_add(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_action_update(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_action_update_confirm(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void create_custom_list(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void delete_event(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void event_delete(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void delete_class(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void archive_db_confirm(mySession *session, char *name,int type);
void archive_list(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void delete_archive(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
void generate_class_list(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection, ssdb_Error_Handle error_handle);
void drop_temp_table(sscErrorHandle hError,ssdb_Connection_Handle connection,ssdb_Error_Handle error_handle);
void archive_table(sscErrorHandle hError, mySession *session,ssdb_Connection_Handle connection,
ssdb_Error_Handle error_handle,CMDPAIR *cmdp);
/* utility functions */
int read_java_scritps(const char *screen_name,const char *screen_end);
long maketime(const char *dateval,int startend);
void makedate (time_t timeval, char *dateout, char *event_time);
void print_error(void);
void create_help(sscErrorHandle hError,char *helpfile);
int get_variable(sscErrorHandle hError,CMDPAIR *cmdp,int type, char *varname,char *string,int *intval,int errornum);
#endif /* endif H_UI_H */