MIDAS
Loading...
Searching...
No Matches
msystem.h File Reference
#include "midasinc.h"
#include <string>
#include <mutex>
#include "mrpc.h"
Include dependency graph for msystem.h:

Go to the source code of this file.

Classes

struct  NET_COMMAND_HEADER
 
struct  NET_COMMAND
 
struct  callback_addr
 
struct  rpc_server_connection_struct
 
struct  rpc_server_acception_struct
 
struct  FREE_DESCRIP
 
struct  OPEN_RECORD
 
struct  DATABASE_CLIENT
 
struct  DATABASE_HEADER
 
struct  DATABASE
 
struct  RECORD_LIST
 
struct  WATCH_LIST
 

Macros

#define DRI_16   (1<<0)
 
#define DRI_32   (1<<1)
 
#define DRI_64   (1<<2)
 
#define DRI_LITTLE_ENDIAN   (1<<3)
 
#define DRI_BIG_ENDIAN   (1<<4)
 
#define DRF_IEEE   (1<<5)
 
#define DRF_G_FLOAT   (1<<6)
 
#define WORD_SWAP(x)
 
#define DWORD_SWAP(x)
 
#define QWORD_SWAP(x)
 
#define MESSAGE_BUFFER_SIZE   100000
 
#define MESSAGE_BUFFER_NAME   "SYSMSG"
 
#define MAX_STRING_LENGTH   256
 
#define NET_BUFFER_SIZE   (8*1024*1024)
 
#define LOCAL_ROUTINES
 
#define YBOS_SUPPORT
 
#define FD_SETSIZE   32
 
#define O_BINARY   0
 
#define O_TEXT   0
 
#define MAX(a, b)   (((a) > (b)) ? (a) : (b))
 
#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
 
#define ABS(a)   (((a) < 0) ? -(a) : (a))
 
#define TELL(fh)   lseek(fh, 0, SEEK_CUR)
 
#define TRUNCATE(fh)   ftruncate(fh, TELL(fh))
 
#define ctime   #error ctime() is not thread safe and should not be used in midas programs
 
#define localtime   #error localtime() is not thread safe and should not be used in midas programs, use localtime_r() instead, do not forget to add a call to tzset()
 
#define gmtime   #error gmtime() is not thread safe and should not be used in midas programs, use gmtime_r() instead
 
#define asctime   #error asctime() is not thread safe and should not be used in midas programs, use asctime_r() instead
 
#define MSG_BM   1
 
#define MSG_ODB   2
 
#define MSG_CLIENT   3
 
#define MSG_SERVER   4
 
#define MSG_LISTEN   5
 
#define MSG_WATCHDOG   6
 
#define LOG_TYPE_DISK   1
 
#define LOG_TYPE_TAPE   2
 
#define LOG_TYPE_FTP   3
 
#define LOG_TYPE_SFTP   4
 

Typedefs

typedef struct rpc_server_connection_struct RPC_SERVER_CONNECTION
 
typedef struct rpc_server_acception_struct RPC_SERVER_ACCEPTION
 
typedef std::vector< RPC_SERVER_ACCEPTION * > RPC_SERVER_ACCEPTION_LIST
 

Functions

INT EXPRT cm_set_path (const char *path)
 
INT EXPRT cm_get_path (char *path, int path_size)
 
std::string EXPRT cm_get_path ()
 
INT EXPRT cm_get_path_string (std::string *path)
 
INT EXPRT cm_set_experiment_name (const char *name)
 
INT cm_dispatch_ipc (const char *message, int message_size, int client_socket)
 
INT EXPRT cm_msg_log (INT message_type, const char *facility, const char *message)
 
void EXPRT name2c (char *str)
 
INT cm_delete_client_info (HNDLE hDB, INT pid)
 
std::string EXPRT cm_get_history_path (const char *history_channel)
 
INT EXPRT db_lock_database (HNDLE database_handle)
 
INT EXPRT db_unlock_database (HNDLE database_handle)
 
INT EXPRT db_set_lock_timeout (HNDLE database_handle, int timeout_millisec)
 
INT db_update_record_local (INT hDB, INT hKeyRoot, INT hKey, int index)
 
INT db_update_record_mserver (INT hDB, INT hKeyRoot, INT hKey, int index, int client_socket)
 
INT db_close_all_records (void)
 
INT EXPRT db_flush_database (HNDLE hDB)
 
INT EXPRT db_notify_clients (HNDLE hDB, HNDLE hKey, int index, BOOL bWalk)
 
INT EXPRT db_set_client_name (HNDLE hDB, const char *client_name)
 
INT db_delete_key1 (HNDLE hDB, HNDLE hKey, INT level, BOOL follow_links)
 
INT EXPRT db_show_mem (HNDLE hDB, char **result, BOOL verbose)
 
INT EXPRT db_get_free_mem (HNDLE hDB, INT *key_size, INT *data_size)
 
INT db_allow_write_locked (DATABASE *p, const char *caller_name)
 
void db_cleanup (const char *who, DWORD actual_time, BOOL wrong_interval)
 
void db_cleanup2 (const char *client_name, int ignore_timeout, DWORD actual_time, const char *who)
 
void db_set_watchdog_params (DWORD timeout)
 
INT db_check_client (HNDLE hDB, HNDLE hKeyClient)
 
INT rpc_register_listener (int port, RPC_HANDLER func, int *plsock, int *pport)
 
RPC_LIST EXPRTrpc_get_internal_list (INT flag)
 
INT rpc_server_receive_rpc (int idx, RPC_SERVER_ACCEPTION *sa)
 
INT rpc_server_receive_event (int idx, RPC_SERVER_ACCEPTION *sa, int timeout_msec)
 
INT rpc_server_callback (struct callback_addr *callback)
 
INT EXPRT rpc_server_accept (int sock)
 
INT rpc_client_accept (int sock)
 
INT rpc_client_dispatch (int sock)
 
INT EXPRT rpc_get_convert_flags (void)
 
INT recv_tcp_check (int sock)
 
INT rpc_deregister_functions (void)
 
INT rpc_check_channels (void)
 
void EXPRT rpc_client_check (void)
 
INT rpc_server_disconnect (void)
 
INT EXPRT rpc_set_opt_tcp_size (INT tcp_size)
 
INT EXPRT rpc_get_opt_tcp_size (void)
 
INT EXPRT rpc_set_mserver_path (const char *mserver_path)
 
const char *EXPRT rpc_get_mserver_path (void)
 
RPC_SERVER_ACCEPTIONrpc_get_mserver_acception (void)
 
INT ss_shm_open (const char *name, INT size, void **adr, size_t *shm_size, HNDLE *handle, BOOL get_size)
 
INT ss_shm_close (const char *name, void *adr, size_t shm_size, HNDLE handle, INT destroy_flag)
 
INT ss_shm_flush (const char *name, const void *adr, size_t size, HNDLE handle, bool wait_for_thread)
 
INT ss_shm_delete (const char *name)
 
INT ss_shm_protect (HNDLE handle, void *adr, size_t shm_size)
 
INT ss_shm_unprotect (HNDLE handle, void **adr, size_t shm_size, BOOL read, BOOL write, const char *caller_name)
 
INT ss_spawnv (INT mode, const char *cmdname, const char *const argv[])
 
INT ss_shell (int sock)
 
INT ss_daemon_init (BOOL keep_stdout)
 
INT ss_system (const char *command)
 
INT ss_exec (const char *command, INT *pid)
 
std::string ss_replace_env_variables (const std::string &inputPath)
 
std::string ss_execs (const char *cmd)
 
BOOL ss_existpid (INT pid)
 
INT ss_getpid (void)
 
midas_thread_t ss_gettid (void)
 
std::string ss_tid_to_string (midas_thread_t thread_id)
 
INT ss_semaphore_create (const char *name, HNDLE *semaphore_handle)
 
INT ss_semaphore_wait_for (HNDLE semaphore_handle, DWORD timeout_millisec)
 
INT ss_semaphore_release (HNDLE semaphore_handle)
 
INT ss_semaphore_delete (HNDLE semaphore_handle, INT destroy_flag)
 
INT ss_mutex_create (MUTEX_T **mutex, BOOL recursive)
 
INT ss_mutex_wait_for (MUTEX_T *mutex, INT timeout)
 
INT ss_mutex_release (MUTEX_T *mutex)
 
INT ss_mutex_delete (MUTEX_T *mutex)
 
bool ss_timed_mutex_wait_for_sec (std::timed_mutex &mutex, const char *mutex_name, double timeout_sec)
 
INT ss_alarm (INT millitime, void(*func)(int))
 
INT ss_suspend_init_odb_port ()
 
INT ss_suspend_get_odb_port (INT *port)
 
INT ss_suspend_get_buffer_port (midas_thread_t thread_id, INT *port)
 
INT ss_suspend_set_rpc_thread (midas_thread_t thread_id)
 
INT ss_suspend_set_server_listener (int listen_socket)
 
INT ss_suspend_set_client_listener (int listen_socket)
 
INT ss_suspend_set_client_connection (RPC_SERVER_CONNECTION *connection)
 
INT ss_suspend_set_server_acceptions (RPC_SERVER_ACCEPTION_LIST *acceptions)
 
INT ss_resume (INT port, const char *message)
 
INT ss_suspend_exit ()
 
INT ss_exception_handler (void(*func)(void))
 
INT ss_suspend (INT millisec, INT msg)
 
midas_thread_t ss_thread_create (INT(*thread_func)(void *), void *param)
 
INT ss_thread_kill (midas_thread_t thread_id)
 
INT EXPRT ss_thread_set_name (std::string name)
 
std::string EXPRT ss_thread_get_name ()
 
INT ss_get_struct_align ()
 
INT ss_get_struct_padding ()
 
INT ss_timezone ()
 
INT ss_stack_get (char ***string)
 
void ss_stack_print ()
 
void ss_stack_history_entry (char *tag)
 
void ss_stack_history_dump (char *filename)
 
INT ss_gethostname (char *buffer, int buffer_size)
 
std::string ss_gethostname ()
 
BOOL ss_pid_exists (int pid)
 
void ss_kill (int pid)
 
std::string ss_get_executable (void)
 
INT ss_socket_connect_tcp (const char *hostname, int tcp_port, int *sockp, std::string *error_msg_p)
 
INT ss_socket_listen_tcp (bool listen_localhost, int tcp_port, int *sockp, int *tcp_port_p, std::string *error_msg_p)
 
INT ss_socket_close (int *sockp)
 
int ss_socket_wait (int sock, INT millisec)
 
INT ss_socket_get_peer_name (int sock, std::string *hostp, int *portp)
 
INT send_tcp (int sock, char *buffer, DWORD buffer_size, INT flags)
 
INT recv_tcp (int sock, char *net_buffer, DWORD buffer_size, INT flags)
 
INT recv_tcp2 (int sock, char *net_buffer, int buffer_size, int timeout_ms)
 
INT recv_string (int sock, char *buffer, DWORD buffer_size, INT millisec)
 
INT ss_recv_net_command (int sock, DWORD *routine_id, DWORD *param_size, char **param_ptr, int timeout_ms)
 
bool ss_event_socket_has_data ()
 
int rpc_flush_event_socket (int timeout_msec)
 
INT EXPRT eb_create_buffer (INT size)
 
INT EXPRT eb_free_buffer (void)
 
BOOL EXPRT eb_buffer_full (void)
 
BOOL EXPRT eb_buffer_empty (void)
 
EVENT_HEADER EXPRTeb_get_pointer (void)
 
INT EXPRT eb_increment_pointer (INT buffer_handle, INT event_size)
 
INT EXPRT eb_send_events (BOOL send_all)
 
INT EXPRT dm_buffer_create (INT size, INT usize)
 
INT EXPRT dm_buffer_release (void)
 
BOOL EXPRT dm_area_full (void)
 
EVENT_HEADER EXPRTdm_pointer_get (void)
 
INT EXPRT dm_pointer_increment (INT buffer_handle, INT event_size)
 
INT EXPRT dm_area_send (void)
 
INT EXPRT dm_area_flush (void)
 
INT EXPRT dm_task (void *pointer)
 
DWORD EXPRT dm_buffer_time_get (void)
 
INT EXPRT dm_async_area_send (void *pointer)
 
int EXPRT rb_set_nonblocking (void)
 
int EXPRT rb_create (int size, int max_event_size, int *ring_buffer_handle)
 
int EXPRT rb_delete (int ring_buffer_handle)
 
int EXPRT rb_get_wp (int handle, void **p, int millisec)
 
int EXPRT rb_increment_wp (int handle, int size)
 
int EXPRT rb_get_rp (int handle, void **p, int millisec)
 
int EXPRT rb_increment_rp (int handle, int size)
 
int EXPRT rb_get_buffer_level (int handle, int *n_bytes)
 
std::chrono::time_point< std::chrono::high_resolution_clockss_us_start ()
 
unsigned int ss_us_since (std::chrono::time_point< std::chrono::high_resolution_clock > start)
 

Detailed Description

dox

The Midas System include file

Definition in file msystem.h.

Macro Definition Documentation

◆ asctime

#define asctime   #error asctime() is not thread safe and should not be used in midas programs, use asctime_r() instead

Definition at line 267 of file msystem.h.

◆ ctime

#define ctime   #error ctime() is not thread safe and should not be used in midas programs

Definition at line 264 of file msystem.h.

◆ gmtime

#define gmtime   #error gmtime() is not thread safe and should not be used in midas programs, use gmtime_r() instead

Definition at line 266 of file msystem.h.

◆ localtime

#define localtime   #error localtime() is not thread safe and should not be used in midas programs, use localtime_r() instead, do not forget to add a call to tzset()

Definition at line 265 of file msystem.h.

Function Documentation

◆ dm_area_flush()

INT EXPRT dm_area_flush ( void  )

◆ dm_area_full()

BOOL EXPRT dm_area_full ( void  )

◆ dm_area_send()

INT EXPRT dm_area_send ( void  )

◆ dm_async_area_send()

INT EXPRT dm_async_area_send ( void pointer)

◆ dm_buffer_create()

INT EXPRT dm_buffer_create ( INT  size,
INT  usize 
)

◆ dm_buffer_release()

INT EXPRT dm_buffer_release ( void  )

◆ dm_buffer_time_get()

DWORD EXPRT dm_buffer_time_get ( void  )

◆ dm_pointer_get()

EVENT_HEADER EXPRT * dm_pointer_get ( void  )

◆ dm_pointer_increment()

INT EXPRT dm_pointer_increment ( INT  buffer_handle,
INT  event_size 
)

◆ dm_task()

INT EXPRT dm_task ( void pointer)

◆ eb_buffer_empty()

BOOL EXPRT eb_buffer_empty ( void  )

◆ eb_buffer_full()

BOOL EXPRT eb_buffer_full ( void  )

◆ eb_create_buffer()

INT EXPRT eb_create_buffer ( INT  size)

◆ eb_free_buffer()

INT EXPRT eb_free_buffer ( void  )

◆ eb_get_pointer()

EVENT_HEADER EXPRT * eb_get_pointer ( void  )

◆ eb_increment_pointer()

INT EXPRT eb_increment_pointer ( INT  buffer_handle,
INT  event_size 
)

◆ eb_send_events()

INT EXPRT eb_send_events ( BOOL  send_all)