1524 {
1529
1530#define MAX_RPC_PARAMS 20
1531
1532typedef struct {
1538
1541#define RPC_MIN_ID 1
1542#define RPC_MAX_ID 9999
1543
1546#define CF_ENDIAN (1<<0)
1547#define CF_IEEE2VAX (1<<1)
1548#define CF_VAX2IEEE (1<<2)
1549
1550
1551#define CBYTE(_i) (* ((BYTE *) prpc_param[_i]))
1552#define CPBYTE(_i) ( ((BYTE *) prpc_param[_i]))
1553
1554#define CSHORT(_i) (* ((short *) prpc_param[_i]))
1555#define CPSHORT(_i) ( ((short *) prpc_param[_i]))
1556
1557#define CINT(_i) (* ((INT *) prpc_param[_i]))
1558#define CPINT(_i) ( ((INT *) prpc_param[_i]))
1559
1560#define CWORD(_i) (* ((WORD *) prpc_param[_i]))
1561#define CPWORD(_i) ( ((WORD *) prpc_param[_i]))
1562
1563#define CLONG(_i) (* ((long *) prpc_param[_i]))
1564#define CPLONG(_i) ( ((long *) prpc_param[_i]))
1565
1566#define CDWORD(_i) (* ((DWORD *) prpc_param[_i]))
1567#define CPDWORD(_i) ( ((DWORD *) prpc_param[_i]))
1568
1569#define CHNDLE(_i) (* ((HNDLE *) prpc_param[_i]))
1570#define CPHNDLE(_i) ( ((HNDLE *) prpc_param[_i]))
1571
1572#define CBOOL(_i) (* ((BOOL *) prpc_param[_i]))
1573#define CPBOOL(_i) ( ((BOOL *) prpc_param[_i]))
1574
1575#define CFLOAT(_i) (* ((float *) prpc_param[_i]))
1576#define CPFLOAT(_i) ( ((float *) prpc_param[_i]))
1577
1578#define CDOUBLE(_i) (* ((double *) prpc_param[_i]))
1579#define CPDOUBLE(_i) ( ((double *) prpc_param[_i]))
1580
1581#define CSTRING(_i) ( ((char *) prpc_param[_i]))
1582#define CARRAY(_i) ( ((void *) prpc_param[_i]))
1583
1584#define CBYTE(_i) (* ((BYTE *) prpc_param[_i]))
1585#define CPBYTE(_i) ( ((BYTE *) prpc_param[_i]))
1586
1587#define CSHORT(_i) (* ((short *) prpc_param[_i]))
1588#define CPSHORT(_i) ( ((short *) prpc_param[_i]))
1589
1590#define CINT(_i) (* ((INT *) prpc_param[_i]))
1591#define CPINT(_i) ( ((INT *) prpc_param[_i]))
1592
1593#define CWORD(_i) (* ((WORD *) prpc_param[_i]))
1594#define CPWORD(_i) ( ((WORD *) prpc_param[_i]))
1595
1596#define CLONG(_i) (* ((long *) prpc_param[_i]))
1597#define CPLONG(_i) ( ((long *) prpc_param[_i]))
1598
1599#define CDWORD(_i) (* ((DWORD *) prpc_param[_i]))
1600#define CPDWORD(_i) ( ((DWORD *) prpc_param[_i]))
1601
1602#define CHNDLE(_i) (* ((HNDLE *) prpc_param[_i]))
1603#define CPHNDLE(_i) ( ((HNDLE *) prpc_param[_i]))
1604
1605#define CBOOL(_i) (* ((BOOL *) prpc_param[_i]))
1606#define CPBOOL(_i) ( ((BOOL *) prpc_param[_i]))
1607
1608#define CFLOAT(_i) (* ((float *) prpc_param[_i]))
1609#define CPFLOAT(_i) ( ((float *) prpc_param[_i]))
1610
1611#define CDOUBLE(_i) (* ((double *) prpc_param[_i]))
1612#define CPDOUBLE(_i) ( ((double *) prpc_param[_i]))
1613
1614#define CSTRING(_i) ( ((char *) prpc_param[_i]))
1615#define CARRAY(_i) ( ((void *) prpc_param[_i]))
1616
1617#define CSTDSTRING(_i) (* ((std::string*) prpc_param[_i]))
1618#define CSTDVECTOR(_i) (*((std::vector<char>*) prpc_param[_i]))
1619
1620#define CPSTDSTRING(_i) ( ((std::string*) prpc_param[_i]))
1621#define CPSTDVECTOR(_i) (((std::vector<char>*) prpc_param[_i]))
1622
1623#define cBYTE (* ((BYTE *) prpc_param[--n_param]))
1624#define cPBYTE ( ((BYTE *) prpc_param[--n_param]))
1625
1626#define cSHORT (* ((short *) prpc_param[--n_param]))
1627#define cPSHORT ( ((short *) prpc_param[--n_param]))
1628
1629#define cINT (* ((INT *) prpc_param[--n_param]))
1630#define cPINT ( ((INT *) prpc_param[--n_param]))
1631
1632#define cWORD (* ((WORD *) prpc_param[--n_param]))
1633#define cPWORD ( ((WORD *) prpc_param[--n_param]))
1634
1635#define cLONG (* ((long *) prpc_param[--n_param]))
1636#define cPLONG ( ((long *) prpc_param[--n_param]))
1637
1638#define cDWORD (* ((DWORD *) prpc_param[--n_param]))
1639#define cPDWORD ( ((DWORD *) prpc_param[--n_param]))
1640
1641#define cHNDLE (* ((HNDLE *) prpc_param[--n_param]))
1642#define cPHNDLE ( ((HNDLE *) prpc_param[--n_param]))
1643
1644#define cBOOL (* ((BOOL *) prpc_param[--n_param]))
1645#define cPBOOL ( ((BOOL *) prpc_param[--n_param]))
1646
1647#define cFLOAT (* ((float *) prpc_param[--n_param]))
1648#define cPFLOAT ( ((float *) prpc_param[--n_param]))
1649
1650#define cDOUBLE (* ((double *) prpc_param[--n_param]))
1651#define cPDOUBLE ( ((double *) prpc_param[--n_param]))
1652
1653#define cSTRING ( ((char *) prpc_param[--n_param]))
1654#define cARRAY ( ((void *) prpc_param[--n_param]))
1655
1658#define JS_LEVEL_0 0
1659#define JS_LEVEL_1 1
1660#define JS_MUST_BE_SUBDIR 1
1661#define JSFLAG_SAVE_KEYS (1<<1)
1662#define JSFLAG_FOLLOW_LINKS (1<<2)
1663#define JSFLAG_RECURSE (1<<3)
1664#define JSFLAG_LOWERCASE (1<<4)
1665#define JSFLAG_OMIT_NAMES (1<<5)
1666#define JSFLAG_OMIT_LAST_WRITTEN (1<<6)
1667#define JSFLAG_OMIT_OLD (1<<7)
1668
1669
1670
1671
1672#if defined(OS_WINNT) && defined(MIDAS_DLL)
1673#define EXPRT __declspec(dllexport)
1674#else
1675#define EXPRT
1676#endif
1677
1678
1682 [[deprecated("Use std::string cm_get_experiment_name();")]]
1689 [[deprecated("Use std::string cm_get_exptab_filename();")]]
1692 [[deprecated("Please use the std::string version of this function")]]
1699 const char *client_name, void (*func) (char *));
1701 const char *client_name,
1703 DWORD watchdog_timeout);
1706 int sequence_number);
1725 const char *
host_name,
const char *client_name,
1726 INT computer_id,
const char *password,
DWORD watchdog_timeout);
1727#define HAVE_CM_GET_CLIENT_NAME 1
1736 [[deprecated("Please remove the bUnique argument from this function. only bUnique set to TRUE is supported")]]
1742#define HAVE_CM_PERIODIC_TASKS 1
1746 [[deprecated("Please use the std::string version of this function")]]
1754
1763 void EXPRT cm_msg_get_logfile(const
char *facility, time_t t, std::
string* filename, std::
string* linkname, std::
string* linktarget);
1767
1774
1776
1777
1795 );
1805#define HAVE_BM_SEND_EVENT_VEC 1
1810#define HAVE_BM_RECEIVE_EVENT_VEC 1
1812#define HAVE_BM_RECEIVE_EVENT_ALLOC 1
1820
1824
1829
1836#define HAVE_DB_GET_VALUE_STRING_CREATE_STRING_LENGTH 1
1841
1842
1847 [[deprecated("Please use the std::string version of this function")]]
1850 [[deprecated("Please remove the \"follow_links\" argument from this function")]]
1855 INT EXPRT db_enum(
HNDLE hdb,
HNDLE root_handle,
const char* odb_path, std::vector<HNDLE>* sub_handles, std::vector<KEY>* sub_keys,
bool follow_links =
true);
1892
1895
1899
1909
1912 void EXPRT json_write(
char **buffer,
int* buffer_size,
int* buffer_end,
int level,
const char* s,
int quoted);
1914
1915
1917
1918
1920
1922
1924
1926
1928
1931
1934
1935 [[deprecated("Please use the std::string version of this function")]]
1937 [[deprecated("Please use the std::string version of this function")]]
1939 [[deprecated("Please use the std::string version of this function")]]
1948
1949 [[deprecated("Please use the std::string version of this function")]]
1952
1955
1973
1974
1978
1992
2006
2009
2012
2014
2018
2022
2033
2037
2041
2046
2048
2050
2051
2054
2055
2069
2070
2086
2087
2091
2094
2096 char *
type,
char *system,
char *subject,
2097 char *text,
int *
textsize,
char *orig_tag,
2098 char *reply_tag, char *attachment1,
2099 char *attachment2, char *attachment3, char *encoding);
2101 const char *subject, const char *text, const char *reply_to,
2102 const char *encoding,
2103 const char *afilename1,
const char *buffer1,
INT buffer_size1,
2104 const char *afilename2,
const char *buffer2,
INT buffer_size2,
2105 const char *afilename3,
const char *buffer3,
INT buffer_size3,
2106 char *tag,
INT tag_size);
2110
2111
2114 const char *default_class,
const char *cond_str,
INT type);
2120
2121
2125
2128
2129
2131 std::vector<time_t> &vtime, std::vector<std::string> &vfilename);
2132
2133#endif
2134
2137
2138
2139
2140
2141
2142
2143
INT transition(INT run_number, char *error)
INT EXPRT al_trigger_class(const char *alarm_class, const char *alarm_message, BOOL first)
BOOL EXPRT al_evaluate_condition(const char *alarm_name, const char *condition, std::string *pvalue)
INT EXPRT al_define_odb_alarm(const char *name, const char *condition, const char *aclass, const char *message)
INT al_get_alarms(std::string *presult)
INT EXPRT al_reset_alarm(const char *alarm_name)
INT EXPRT al_trigger_alarm(const char *alarm_name, const char *alarm_message, const char *default_class, const char *cond_str, INT type)
void EXPRT bk_init32a(void *event)
INT EXPRT bk_close(void *pbh, void *pdata)
INT EXPRT bk_iterate32a(const void *pbh, BANK32A **pbk, void *pdata)
INT EXPRT bk_swap(void *event, BOOL force)
BOOL EXPRT bk_is32a(const void *event)
INT EXPRT bk_delete(void *event, const char *name)
BOOL EXPRT bk_is32(const void *event)
INT EXPRT bk_iterate32(const void *pbh, BANK32 **pbk, void *pdata)
INT EXPRT bk_locate(const void *pbh, const char *name, void *pdata)
void EXPRT bk_init(void *pbh)
INT EXPRT bk_list(const void *pbh, char *bklist)
INT EXPRT bk_copy(char *pevent, char *psrce, const char *bkname)
INT EXPRT bk_iterate(const void *pbh, BANK **pbk, void *pdata)
void EXPRT bk_init32(void *event)
void EXPRT bk_create(void *pbh, const char *name, WORD type, void **pdata)
INT EXPRT bk_find(const BANK_HEADER *pbkh, const char *name, DWORD *bklen, DWORD *bktype, void **pdata)
INT EXPRT bk_size(const void *pbh)
INT EXPRT bm_open_buffer(const char *buffer_name, INT buffer_size, INT *buffer_handle)
INT EXPRT bm_send_event(INT buffer_handle, const EVENT_HEADER *event, int unused, int timeout_msec)
INT EXPRT bm_write_statistics_to_odb(void)
INT EXPRT bm_delete_request(INT request_id)
INT EXPRT bm_close_all_buffers(void)
INT EXPRT bm_poll_event(void)
INT EXPRT bm_add_event_request(INT buffer_handle, short int event_id, short int trigger_mask, INT sampling_type, EVENT_HANDLER *func, INT request_id)
INT EXPRT bm_receive_event_vec(INT buffer_handle, std::vector< char > *event, int timeout_msec)
INT EXPRT bm_skip_event(INT buffer_handle)
INT EXPRT bm_empty_buffers(void)
INT EXPRT bm_request_event(INT buffer_handle, short int event_id, short int trigger_mask, INT sampling_type, INT *request_id, EVENT_HANDLER *func)
INT EXPRT bm_set_cache_size(INT buffer_handle, size_t read_size, size_t write_size)
INT EXPRT bm_receive_event(INT buffer_handle, void *destination, INT *buf_size, int timeout_msec)
INT EXPRT bm_check_buffers(void)
INT EXPRT bm_compose_event_threadsafe(EVENT_HEADER *event_header, short int event_id, short int trigger_mask, DWORD data_size, DWORD *serial)
INT EXPRT bm_remove_event_request(INT buffer_handle, INT request_id)
INT EXPRT bm_close_buffer(INT buffer_handle)
INT EXPRT bm_send_event_sg(INT buffer_handle, int sg_n, const char *const sg_ptr[], const size_t sg_len[], int timeout_msec)
INT EXPRT bm_compose_event(EVENT_HEADER *event_header, short int event_id, short int trigger_mask, DWORD data_size, DWORD serial)
INT EXPRT bm_match_event(short int event_id, short int trigger_mask, const EVENT_HEADER *pevent)
INT EXPRT bm_flush_cache(INT buffer_handle, int timeout_msec)
INT EXPRT bm_get_buffer_handle(const char *buffer_name, INT *buffer_handle)
INT EXPRT bm_send_event_vec(INT buffer_handle, const std::vector< char > &event, int timeout_msec)
INT EXPRT bm_receive_event_alloc(INT buffer_handle, EVENT_HEADER **ppevent, int timeout_msec)
INT EXPRT cm_register_transition(INT transition, INT(*func)(INT, char *), int sequence_number)
INT EXPRT cm_shutdown(const char *name, BOOL bUnique)
INT EXPRT cm_disconnect_client(HNDLE hConn, BOOL bShutdown)
INT EXPRT cm_yield(INT millisec)
INT EXPRT cm_get_experiment_database(HNDLE *hDB, HNDLE *hKeyClient)
INT EXPRT cm_list_experiments_remote(const char *host_name, STRING_LIST *exp_names)
INT EXPRT cm_get_watchdog_params(BOOL *call_watchdog, DWORD *timeout)
INT EXPRT cm_connect_client(const char *client_name, HNDLE *hConn)
INT EXPRT cm_connect_experiment(const char *host_name, const char *exp_name, const char *client_name, void(*func)(char *))
INT EXPRT cm_list_experiments_local(STRING_LIST *exp_names)
INT EXPRT cm_start_watchdog_thread(void)
INT EXPRT cm_get_experiment_semaphore(INT *semaphore_alarm, INT *semaphore_elog, INT *semaphore_history, INT *semaphore_msg)
INT EXPRT cm_set_client_run_state(INT state)
INT EXPRT cm_transition(INT transition, INT run_number, char *error, INT strsize, INT async_flag, INT debug_flag)
INT EXPRT cm_stop_watchdog_thread(void)
std::string EXPRT cm_asctime()
INT EXPRT cm_register_function(INT id, INT(*func)(INT, void **))
INT EXPRT cm_exist(const char *name, BOOL bClientName)
INT EXPRT cm_connect_experiment1(const char *host_name, const char *exp_name, const char *client_name, void(*func)(char *), INT odb_size, DWORD watchdog_timeout)
INT EXPRT cm_check_client(HNDLE hDB, HNDLE hKeyClient)
INT EXPRT cm_periodic_tasks(void)
INT EXPRT cm_select_experiment_remote(const char *host_name, std::string *exp_name)
INT EXPRT cm_register_server(void)
void EXPRT cm_ack_ctrlc_pressed(void)
INT EXPRT cm_execute(const char *command, char *result, INT buf_size)
INT EXPRT cm_get_watchdog_info(HNDLE hDB, const char *client_name, DWORD *timeout, DWORD *last)
INT EXPRT cm_cleanup(const char *client_name, BOOL ignore_timeout)
INT EXPRT cm_select_experiment_local(std::string *exp_name)
std::string std::string cm_expand_env(const char *str)
std::string EXPRT cm_get_client_name()
INT EXPRT cm_exec_script(const char *odb_path_to_script)
INT EXPRT cm_set_client_info(HNDLE hDB, HNDLE *hKeyClient, const char *host_name, const char *client_name, INT computer_id, const char *password, DWORD watchdog_timeout)
INT EXPRT cm_get_exptab(const char *exp_name, char *expdir, int expdir_size, char *expuser, int expuser_size)
INT EXPRT cm_disconnect_experiment(void)
INT EXPRT cm_synchronize(DWORD *sec)
std::string cm_get_exptab_filename()
INT EXPRT cm_register_deferred_transition(INT transition, BOOL(*func)(INT, BOOL))
INT EXPRT cm_set_experiment_local(const char *exp_name)
INT EXPRT cm_get_environment(char *host_name, int host_name_size, char *exp_name, int exp_name_size)
const char *EXPRT cm_get_version(void)
INT EXPRT cm_deregister_transition(INT transition)
INT EXPRT cm_check_deferred_transition(void)
std::string cm_get_experiment_name()
INT EXPRT cm_set_transition_sequence(INT transition, INT sequence_number)
const char *EXPRT cm_get_revision(void)
INT EXPRT cm_watchdog_thread(void *unused)
INT EXPRT cm_set_experiment_database(HNDLE hDB, HNDLE hKeyClient)
BOOL EXPRT cm_is_ctrlc_pressed(void)
INT EXPRT cm_time(DWORD *t)
INT EXPRT cm_transition_cleanup()
INT EXPRT cm_set_watchdog_params(BOOL call_watchdog, DWORD timeout)
INT EXPRT cm_set_experiment_semaphore(INT semaphore_alarm, INT semaphore_elog, INT semaphore_history, INT semaphore_msg)
INT EXPRT el_search_run(int run, char *return_tag)
INT EXPRT el_retrieve(char *tag, char *date, int *run, char *author, char *type, char *system, char *subject, char *text, int *textsize, char *orig_tag, char *reply_tag, char *attachment1, char *attachment2, char *attachment3, char *encoding)
INT EXPRT el_delete_message(const char *tag)
INT EXPRT el_submit(int run, const char *author, const char *type, const char *system, const char *subject, const char *text, const char *reply_to, const char *encoding, const char *afilename1, const char *buffer1, INT buffer_size1, const char *afilename2, const char *buffer2, INT buffer_size2, const char *afilename3, const char *buffer3, INT buffer_size3, char *tag, INT tag_size)
INT EXPRT el_search_message(char *tag, int *fh, BOOL walk, char *filename, int filename_size)
void() EVENT_HANDLER(HNDLE buffer_handler, HNDLE request_id, EVENT_HEADER *event_header, void *event_data)
INT() RPC_HANDLER(INT index, void *prpc_param[])
bool ss_is_valid_utf8(const char *string)
INT ss_dir_find(const char *path, const char *pattern, char **plist)
double ss_disk_size(const char *path)
time_t ss_mktime(struct tm *tms)
int ss_file_exist(const char *path)
INT ss_tape_rskip(INT channel, INT count)
INT ss_tape_write(INT channel, void *pdata, INT count)
INT ss_dirlink_find(const char *path, const char *pattern, char **plist)
INT ss_getchar(BOOL reset)
INT ss_tape_rewind(INT channel)
INT ss_tape_fskip(INT channel, INT count)
INT ss_tape_close(INT channel)
double ss_disk_free(const char *path)
time_t ss_file_time(const char *path)
int ss_file_link_exist(const char *path)
INT ss_tape_get_blockn(INT channel)
double ss_file_size(const char *path)
INT ss_tape_status(char *path)
DWORD ss_settime(DWORD seconds)
INT ss_tape_mount(INT channel)
char * ss_getpass(const char *prompt)
INT ss_directio_give_port(INT start, INT end)
INT ss_write_tcp(int sock, const char *buffer, size_t buffer_size)
int ss_dir_exist(const char *path)
void ss_set_screen_size(int x, int y)
INT ss_tape_spool(INT channel)
INT ss_file_remove(const char *path)
INT ss_tape_read(INT channel, void *pdata, INT *count)
int ss_file_copy(const char *src, const char *dst, bool append)
INT ss_sleep(INT millisec)
INT ss_tape_unmount(INT channel)
INT ss_tape_write_eof(INT channel)
bool ss_repair_utf8(char *string)
char * ss_crypt(const char *buf, const char *salt)
INT ss_tape_open(char *path, INT oflag, INT *channel)
void ss_printf(INT x, INT y, const char *format,...)
INT ss_directio_lock_port(INT start, INT end)
char * ss_gets(char *string, int size)
void * ss_ctrlc_handler(void(*func)(int))
INT ss_file_find(const char *path, const char *pattern, char **plist)
INT EXPRT cm_msg_early_init(void)
INT EXPRT cm_msg_facilities(STRING_LIST *list)
INT EXPRT cm_msg_open_buffer(void)
INT EXPRT cm_msg_close_buffer(void)
INT EXPRT cm_msg_register(EVENT_HANDLER *func)
INT EXPRT INT EXPRT INT EXPRT cm_msg_flush_buffer(void)
std::string cm_get_error(INT code)
INT EXPRT cm_msg_retrieve(INT n_message, char *message, INT buf_size)
INT EXPRT cm_msg_retrieve2(const char *facility, time_t t, int min_messages, char **messages, int *num_messages)
void EXPRT cm_msg_get_logfile(const char *facility, time_t t, std::string *filename, std::string *linkname, std::string *linktarget)
INT EXPRT cm_set_msg_print(INT system_mask, INT user_mask, int(*func)(const char *))
BOOL EXPRT equal_ustring(const char *str1, const char *str2)
INT db_sprintfh(char *string, const void *data, INT data_size, INT idx, DWORD type)
INT db_remove_open_record(HNDLE hDB, HNDLE hKey, BOOL lock)
INT db_get_data_index(HNDLE hDB, HNDLE hKey, void *data, INT *buf_size, INT idx, DWORD type)
INT db_delete_key(HNDLE hDB, HNDLE hKey, BOOL follow_links)
INT db_send_changed_records()
INT db_find_link(HNDLE hDB, HNDLE hKey, const char *key_name, HNDLE *subhKey)
INT db_get_value(HNDLE hDB, HNDLE hKeyRoot, const char *key_name, void *data, INT *buf_size, DWORD type, BOOL create)
INT db_reorder_key(HNDLE hDB, HNDLE hKey, INT idx)
static const KEY * db_get_parent(const DATABASE_HEADER *pheader, const KEY *pkey, int *pstatus, const char *caller, db_err_msg **msg)
INT db_save_json(HNDLE hDB, HNDLE hKey, const char *filename, int flags)
INT db_open_record(HNDLE hDB, HNDLE hKey, void *ptr, INT rec_size, WORD access_mode, void(*dispatcher)(INT, INT, void *), void *info)
INT db_open_database(const char *xdatabase_name, INT database_size, HNDLE *hDB, const char *client_name)
INT db_get_open_records(HNDLE hDB, HNDLE hKey, char *str, INT buf_size, BOOL fix)
INT db_paste_xml(HNDLE hDB, HNDLE hKeyRoot, const char *buffer)
std::string strcomb1(const char **list)
INT db_save_xml(HNDLE hDB, HNDLE hKey, const char *filename)
INT db_set_link_data(HNDLE hDB, HNDLE hKey, const void *data, INT buf_size, INT num_values, DWORD type)
INT db_get_path(HNDLE hDB, HNDLE hKey, char *path, INT buf_size)
INT db_get_record1(HNDLE hDB, HNDLE hKey, void *data, INT *buf_size, INT align, const char *rec_str)
INT db_copy(HNDLE hDB, HNDLE hKey, char *buffer, INT *buffer_size, const char *path)
INT db_set_link_data_index(HNDLE hDB, HNDLE hKey, const void *data, INT data_size, INT idx, DWORD type)
INT EXPRT db_set_record2(HNDLE hdb, HNDLE hKey, void *data, INT buf_size, INT align, const char *rec_str)
BOOL EXPRT strmatch(char *pattern, char *str)
INT EXPRT db_enum(HNDLE hDB, HNDLE hKeyRoot, std::vector< HNDLE > *sub_handles, std::vector< KEY > *sub_keys, bool follow_links)
INT db_get_record_size(HNDLE hDB, HNDLE hKey, INT align, INT *buf_size)
INT db_get_data(HNDLE hDB, HNDLE hKey, void *data, INT *buf_size, DWORD type)
INT db_create_key(HNDLE hDB, HNDLE hKey, const char *key_name, DWORD type)
INT db_check_record(HNDLE hDB, HNDLE hKey, const char *keyname, const char *rec_str, BOOL correct)
INT db_copy_json_save(HNDLE hDB, HNDLE hKey, char **buffer, int *buffer_size, int *buffer_end)
INT db_copy_xml(HNDLE hDB, HNDLE hKey, char *buffer, int *buffer_size, bool header)
MJsonNode * db_scl(HNDLE hDB)
INT db_save_struct(HNDLE hDB, HNDLE hKey, const char *file_name, const char *struct_name, BOOL append)
INT db_get_record(HNDLE hDB, HNDLE hKey, void *data, INT *buf_size, INT align)
INT db_unwatch(HNDLE hDB, HNDLE hKey)
INT db_set_mode(HNDLE hDB, HNDLE hKey, WORD mode, BOOL recurse)
INT db_get_next_link(HNDLE hDB, HNDLE hKey, HNDLE *subkey_handle)
INT db_scan_tree_link(HNDLE hDB, HNDLE hKey, INT level, void(*callback)(HNDLE, HNDLE, KEY *, INT, void *), void *info)
INT EXPRT db_watch(HNDLE hDB, HNDLE hKey, void(*dispatcher)(INT, INT, INT, void *info), void *info)
INT db_save(HNDLE hDB, HNDLE hKey, const char *filename, BOOL bRemote)
INT db_scan_tree(HNDLE hDB, HNDLE hKey, INT level, INT(*callback)(HNDLE, HNDLE, KEY *, INT, void *), void *info)
INT db_get_key(HNDLE hDB, HNDLE hKey, KEY *key)
INT db_get_link(HNDLE hDB, HNDLE hKey, KEY *key)
INT db_load(HNDLE hDB, HNDLE hKeyRoot, const char *filename, BOOL bRemote)
INT EXPRT db_get_value_string(HNDLE hdb, HNDLE hKeyRoot, const char *key_name, int index, std::string *s, BOOL create, int create_string_length)
INT db_sprintff(char *string, const char *format, const void *data, INT data_size, INT idx, DWORD type)
INT db_get_watchdog_info(HNDLE hDB, const char *client_name, DWORD *timeout, DWORD *last)
INT db_set_data_index(HNDLE hDB, HNDLE hKey, const void *data, INT data_size, INT idx, DWORD type)
INT db_save_string(HNDLE hDB, HNDLE hKey, const char *file_name, const char *string_name, BOOL append)
INT db_copy_json_index(HNDLE hDB, HNDLE hKey, int index, char **buffer, int *buffer_size, int *buffer_end)
INT db_paste(HNDLE hDB, HNDLE hKeyRoot, const char *buffer)
INT db_get_key_info(HNDLE hDB, HNDLE hKey, char *name, INT name_size, INT *type, INT *num_values, INT *item_size)
INT db_close_all_databases(void)
INT db_set_data(HNDLE hDB, HNDLE hKey, const void *data, INT buf_size, INT num_values, DWORD type)
INT db_enum_link(HNDLE hDB, HNDLE hKey, INT idx, HNDLE *subkey_handle)
INT db_copy_json_ls(HNDLE hDB, HNDLE hKey, char **buffer, int *buffer_size, int *buffer_end)
char * strcomb(const char **list)
int EXPRT json_write_anything(HNDLE hDB, HNDLE hKey, char **buffer, int *buffer_size, int *buffer_end, int level, int must_be_subdir, int flags, time_t timestamp)
INT db_delete(HNDLE hDB, HNDLE hKeyRoot, const char *odb_path)
INT db_sprintf(char *string, const void *data, INT data_size, INT idx, DWORD type)
INT db_update_last_activity(DWORD millitime)
INT db_copy_json_obsolete(HNDLE hDB, HNDLE hKey, char **buffer, int *buffer_size, int *buffer_end, int save_keys, int follow_links, int recurse)
void EXPRT strarrayindex(char *odbpath, int *index1, int *index2)
INT db_set_data1(HNDLE hDB, HNDLE hKey, const void *data, INT buf_size, INT num_values, DWORD type)
INT db_get_data1(HNDLE hDB, HNDLE hKey, void *data, INT *buf_size, DWORD type, INT *num_values)
INT db_copy_json_values(HNDLE hDB, HNDLE hKey, char **buffer, int *buffer_size, int *buffer_end, int omit_names, int omit_last_written, time_t omit_old_timestamp, int preserve_case)
INT db_set_value(HNDLE hDB, HNDLE hKeyRoot, const char *key_name, const void *data, INT data_size, INT num_values, DWORD type)
INT db_find_key(HNDLE hDB, HNDLE hKey, const char *key_name, HNDLE *subhKey)
INT db_copy_json_array(HNDLE hDB, HNDLE hKey, char **buffer, int *buffer_size, int *buffer_end)
MJsonNode * db_sor(HNDLE hDB, const char *root_path)
INT db_get_link_data(HNDLE hDB, HNDLE hKey, void *data, INT *buf_size, DWORD type)
INT db_rename_key(HNDLE hDB, HNDLE hKey, const char *name)
BOOL EXPRT ends_with_ustring(const char *str, const char *suffix)
void json_write(char **buffer, int *buffer_size, int *buffer_end, int level, const char *s, int quoted)
INT EXPRT db_paste_json(HNDLE hDB, HNDLE hKey, const char *buffer)
INT db_get_key_time(HNDLE hDB, HNDLE hKey, DWORD *delta)
int db_delete_client_info(HNDLE hDB, int pid)
INT db_find_keys(HNDLE hDB, HNDLE hKeyRoot, const char *odbpath, std::vector< HNDLE > &hKeyVector)
INT db_set_value_index(HNDLE hDB, HNDLE hKeyRoot, const char *key_name, const void *data, INT data_size, INT idx, DWORD type, BOOL trunc)
INT db_notify_clients_array(HNDLE hDB, HNDLE hKeys[], INT size)
INT db_open_record1(HNDLE hDB, HNDLE hKey, void *ptr, INT rec_size, WORD access_mode, void(*dispatcher)(INT, INT, void *), void *info, const char *rec_str)
INT db_merge_data(HNDLE hDB, HNDLE hKeyRoot, const char *name, void *data, INT data_size, INT num_values, INT type)
INT db_set_record(HNDLE hDB, HNDLE hKey, void *data, INT buf_size, INT align)
INT db_set_data_index1(HNDLE hDB, HNDLE hKey, const void *data, INT data_size, INT idx, DWORD type, BOOL bNotify)
INT db_enum_key(HNDLE hDB, HNDLE hKey, INT idx, HNDLE *subkey_handle)
INT EXPRT db_resize_string(HNDLE hdb, HNDLE hKeyRoot, const char *key_name, int num_values, int max_string_length)
INT db_close_record(HNDLE hDB, HNDLE hKey)
INT db_create_record(HNDLE hDB, HNDLE hKey, const char *orig_key_name, const char *init_str)
INT db_sscanf(const char *data_str, void *data, INT *data_size, INT i, DWORD tid)
INT db_add_open_record(HNDLE hDB, HNDLE hKey, WORD access_mode)
INT EXPRT db_set_value_string(HNDLE hDB, HNDLE hKeyRoot, const char *key_name, const std::string *s)
INT db_set_num_values(HNDLE hDB, HNDLE hKey, INT num_values)
INT db_get_record2(HNDLE hDB, HNDLE hKey, void *data, INT *xbuf_size, INT align, const char *rec_str, BOOL correct)
INT EXPRT db_load_json(HNDLE hdb, HNDLE key_handle, const char *filename)
INT db_create_link(HNDLE hDB, HNDLE hKey, const char *link_name, const char *destination)
INT db_close_database(HNDLE hDB)
INT db_protect_database(HNDLE hDB)
INT EXPRT db_paste_json_node(HNDLE hDB, HNDLE hKey, int index, const MJsonNode *json_node)
INT EXPRT rpc_add_allowed_host(const char *hostname)
void EXPRT rpc_convert_data(void *data, INT tid, INT flags, INT size, INT convert_flags)
INT EXPRT rpc_client_connect(const char *host_name, INT midas_port, const char *client_name, HNDLE *hConnection)
INT EXPRT rpc_register_server(int port, int *plsock, int *pport)
INT EXPRT rpc_client_disconnect(HNDLE hConn, BOOL bShutdown)
INT EXPRT rpc_client_call(HNDLE hConn, DWORD routine_id,...)
INT EXPRT rpc_register_functions(const RPC_LIST *new_list, RPC_HANDLER func)
INT EXPRT rpc_set_timeout(HNDLE hConn, int timeout_msec, int *old_timeout_msec=NULL)
INT EXPRT rpc_server_connect(const char *host_name, const char *exp_name)
std::string rpc_get_name()
bool EXPRT rpc_is_remote(void)
void EXPRT rpc_debug_printf(const char *format,...)
const char EXPRT * rpc_tid_name_old(INT id)
INT EXPRT cm_query_transition(int *transition, int *run_number, int *trans_time)
INT EXPRT rpc_server_loop(void)
INT EXPRT rpc_clear_allowed_hosts(void)
std::string rpc_get_mserver_hostname()
INT EXPRT rpc_get_hw_type()
bool EXPRT rpc_is_connected(void)
INT EXPRT rpc_call(DWORD routine_id,...)
const char EXPRT * rpc_tid_name(INT id)
INT EXPRT rpc_flush_event(void)
INT EXPRT rpc_register_client(const char *name, RPC_LIST *list)
INT EXPRT rpc_server_shutdown(void)
INT EXPRT rpc_send_event(INT buffer_handle, const EVENT_HEADER *event, int unused, INT async_flag, INT mode)
INT EXPRT rpc_get_timeout(HNDLE hConn)
INT EXPRT rpc_set_debug(void(*func)(const char *), INT mode)
INT EXPRT rpc_name_tid(const char *name)
bool EXPRT rpc_is_mserver(void)
INT EXPRT rpc_send_event1(INT buffer_handle, const EVENT_HEADER *event)
INT EXPRT rpc_send_event_sg(INT buffer_handle, int sg_n, const char *const sg_ptr[], const size_t sg_len[])
INT EXPRT rpc_set_name(const char *name)
INT rpc_get_convert_flags(void)
INT EXPRT rpc_tid_size(INT id)
INT EXPRT rpc_check_allowed_host(const char *hostname)
void EXPRT rpc_convert_single(void *data, INT tid, INT flags, INT convert_flags)
char exp_name[NAME_LENGTH]
char host_name[HOST_NAME_LENGTH]
char buffer_name[NAME_LENGTH]
INT EXPRT cm_msg(INT message_type, const char *filename, INT line, const char *routine, const char *format,...) MATTRPRINTF(5
bool EXPRT ends_with_char(const std::string &s, char c)
INT EXPRT bm_get_buffer_level(INT buffer_handle, INT *n_bytes)
int hs_image_retrieve(std::string image_name, time_t start, time_t stop, std::vector< time_t > &vtime, std::vector< std::string > &vfilename)
void EXPRT close_subfolder(void)
INT EXPRT bm_get_buffer_info(INT buffer_handle, BUFFER_HEADER *buffer_header)
INT EXPRT bm_init_buffer_counters(INT buffer_handle)
void EXPRT open_subfolder(const char *name)
void EXPRT add_data_dir(char *result, char *file)
#define MATTRPRINTF(a, b)
std::string msprintf(const char *format,...) MATTRPRINTF(1
std::string EXPRT cm_transition_name(int transition)
INT EXPRT rpc_register_function(INT id, RPC_HANDLER func)
INT EXPRT INT EXPRT cm_msg1(INT message_type, const char *filename, INT line, const char *facility, const char *routine, const char *format,...) MATTRPRINTF(6
std::vector< std::string > STRING_LIST
int EXPRT cm_write_event_to_odb(HNDLE hDB, HNDLE hKey, const EVENT_HEADER *pevent, INT format)
void EXPRT lock_histo(INT id)
void EXPRT test_register(ANA_TEST *t)
#define message(type, str)
struct callback_addr callback
static te_expr * list(state *s)