Midas C++ API - system internals (msystem.h)
This page contains the defines, macros and data structures from msystem.h, which midas uses internally (e.g. for the network protocol and the layout of the ODB in shared memory). Most programs will not need these.
System Defines
Macros
data representations
DRF_G_FLOAT
#define DRF_G_FLOAT (1<<6)
Defined in include/msystem.h:51
DRF_IEEE
#define DRF_IEEE (1<<5)
Defined in include/msystem.h:50
DRI_16
#define DRI_16 (1<<0)
Defined in include/msystem.h:45
DRI_32
#define DRI_32 (1<<1)
Defined in include/msystem.h:46
DRI_64
#define DRI_64 (1<<2)
Defined in include/msystem.h:47
DRI_BIG_ENDIAN
#define DRI_BIG_ENDIAN (1<<4)
Defined in include/msystem.h:49
DRI_LITTLE_ENDIAN
#define DRI_LITTLE_ENDIAN (1<<3)
Defined in include/msystem.h:48
Definition of implementation specific constants
LOCAL_ROUTINES
#define LOCAL_ROUTINES
Defined in include/msystem.h:122
MAX_STRING_LENGTH
#define MAX_STRING_LENGTH 256
max string length for odb
Defined in include/msystem.h:113
MESSAGE_BUFFER_NAME
#define MESSAGE_BUFFER_NAME "SYSMSG"
buffer name for messages
Defined in include/msystem.h:111
MESSAGE_BUFFER_SIZE
#define MESSAGE_BUFFER_SIZE 100000
buffer used for messages
Defined in include/msystem.h:110
NET_BUFFER_SIZE
#define NET_BUFFER_SIZE (8*1024*1024)
size of network receive buffers
Defined in include/msystem.h:114
YBOS_SUPPORT
#define YBOS_SUPPORT
Defined in include/msystem.h:131
FD_SETSIZE
#define FD_SETSIZE 32
Defined in include/msystem.h:206
LOG_TYPE_DISK
#define LOG_TYPE_DISK 1
Defined in include/msystem.h:501
LOG_TYPE_FTP
#define LOG_TYPE_FTP 3
Defined in include/msystem.h:503
LOG_TYPE_SFTP
#define LOG_TYPE_SFTP 4
Defined in include/msystem.h:504
LOG_TYPE_TAPE
#define LOG_TYPE_TAPE 2
Defined in include/msystem.h:502
MSG_BM
#define MSG_BM 1
Defined in include/msystem.h:302
MSG_CLIENT
#define MSG_CLIENT 3
Defined in include/msystem.h:304
MSG_LISTEN
#define MSG_LISTEN 5
Defined in include/msystem.h:306
MSG_ODB
#define MSG_ODB 2
Defined in include/msystem.h:303
MSG_SERVER
#define MSG_SERVER 4
Defined in include/msystem.h:305
MSG_WATCHDOG
#define MSG_WATCHDOG 6
Defined in include/msystem.h:307
O_BINARY
#define O_BINARY 0
Defined in include/msystem.h:226
O_TEXT
#define O_TEXT 0
Defined in include/msystem.h:227
System Macros
Macros
ABS
#define ABS(a) (((a) < 0) ? -(a) : (a))
Defined in include/msystem.h:246
DWORD_SWAP
#define DWORD_SWAP(x)
SWAP DWORD macro
Defined in include/msystem.h:74
MAX
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
Defined in include/msystem.h:238
MIN
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
Defined in include/msystem.h:242
QWORD_SWAP
#define QWORD_SWAP(x)
SWAP QWORD macro
Defined in include/msystem.h:86
TELL
#define TELL(fh) lseek(fh, 0, SEEK_CUR)
Defined in include/msystem.h:250
TRUNCATE
#define TRUNCATE(fh) ftruncate(fh, TELL(fh))
Defined in include/msystem.h:256
WORD_SWAP
#define WORD_SWAP(x)
SWAP WORD macro
Defined in include/msystem.h:65
System Structure Declarations
Classes
callback_addr
Defined in include/msystem.h:317
Methods
clear
void clear()
Defined in include/msystem.h:327
Attributes
debug
int debug
Defined in include/msystem.h:322
directory
std::string directory
Defined in include/msystem.h:324
experiment
std::string experiment
Defined in include/msystem.h:323
host_name
std::string host_name
Defined in include/msystem.h:318
host_port1
unsigned short host_port1
Defined in include/msystem.h:319
host_port2
unsigned short host_port2
Defined in include/msystem.h:320
host_port3
unsigned short host_port3
Defined in include/msystem.h:321
user
std::string user
Defined in include/msystem.h:325
DATABASE
Defined in include/msystem.h:449
Attributes
attached
BOOL attached
TRUE if database is attached
Defined in include/msystem.h:452
client_index
INT client_index
index to CLIENT str. in buf.
Defined in include/msystem.h:453
database_data
void *database_data
pointer to database data
Defined in include/msystem.h:455
database_header
DATABASE_HEADER *database_header
pointer to database header
Defined in include/msystem.h:454
hDB
HNDLE hDB
Database handle
Defined in include/msystem.h:450
inside_lock_unlock
BOOL inside_lock_unlock
protection against recursive call to db_lock/unlock
Defined in include/msystem.h:466
lock_cnt
INT lock_cnt
flag to avoid multiple locks
Defined in include/msystem.h:457
mutex
MUTEX_T *mutex
mutex for multi-thread access
Defined in include/msystem.h:464
name
char name[NAME_LENGTH]
Name of database
Defined in include/msystem.h:451
protect
BOOL protect
read/write protection
Defined in include/msystem.h:461
protect_read
BOOL protect_read
read is permitted
Defined in include/msystem.h:462
protect_write
BOOL protect_write
write is permitted
Defined in include/msystem.h:463
semaphore
HNDLE semaphore
semaphore handle
Defined in include/msystem.h:456
shm_adr
void* shm_adr
address of shared memory
Defined in include/msystem.h:458
shm_handle
HNDLE shm_handle
handle (id) to shared memory
Defined in include/msystem.h:460
shm_size
HNDLE shm_size
size of shared memory
Defined in include/msystem.h:459
timeout
INT timeout
timeout for mutex and semaphore
Defined in include/msystem.h:465
DATABASE_CLIENT
Defined in include/msystem.h:417
Attributes
last_activity
DWORD last_activity
time of last activity
Defined in include/msystem.h:424
max_index
INT max_index
index of last opren record
Defined in include/msystem.h:426
name
char name[NAME_LENGTH]
name of client
Defined in include/msystem.h:418
num_open_records
INT num_open_records
number of open records
Defined in include/msystem.h:423
open_record
OPEN_RECORD open_record[MAX_OPEN_RECORDS]
Defined in include/msystem.h:428
pid
INT pid
process ID
Defined in include/msystem.h:419
port
INT port
UDP port for wake up
Defined in include/msystem.h:422
unused
INT unused
was thread handle
Defined in include/msystem.h:421
unused0
INT unused0
was thread ID
Defined in include/msystem.h:420
watchdog_timeout
DWORD watchdog_timeout
timeout in ms
Defined in include/msystem.h:425
DATABASE_HEADER
Defined in include/msystem.h:432
Attributes
client
DATABASE_CLIENT client[MAX_CLIENTS]
entries for clients
Defined in include/msystem.h:443
data_size
INT data_size
size of data area in bytes
Defined in include/msystem.h:438
first_free_data
INT first_free_data
first free data memory
Defined in include/msystem.h:441
first_free_key
INT first_free_key
first free key memory
Defined in include/msystem.h:440
key_size
INT key_size
size of key area in bytes
Defined in include/msystem.h:437
max_client_index
INT max_client_index
index of last client + 1
Defined in include/msystem.h:436
name
char name[NAME_LENGTH]
name of database
Defined in include/msystem.h:433
num_clients
INT num_clients
no of active clients
Defined in include/msystem.h:435
root_key
INT root_key
root key offset
Defined in include/msystem.h:439
version
INT version
database version
Defined in include/msystem.h:434
FREE_DESCRIP
Defined in include/msystem.h:405
Attributes
next_free
INT next_free
Address of next free block
Defined in include/msystem.h:407
size
INT size
size in bytes
Defined in include/msystem.h:406
NET_COMMAND
Defined in include/msystem.h:292
Attributes
header
NET_COMMAND_HEADER header
Defined in include/msystem.h:293
param
char param[32]
parameter array
Defined in include/msystem.h:294
NET_COMMAND_HEADER
Defined in include/msystem.h:287
Attributes
param_size
DWORD param_size
size in Bytes of parameter
Defined in include/msystem.h:289
routine_id
DWORD routine_id
routine ID like ID_BM_xxx
Defined in include/msystem.h:288
OPEN_RECORD
Defined in include/msystem.h:410
Attributes
access_mode
WORD access_mode
R/W flags
Defined in include/msystem.h:412
flags
WORD flags
Data format, ...
Defined in include/msystem.h:413
handle
INT handle
Handle of record base key
Defined in include/msystem.h:411
RECORD_LIST
Defined in include/msystem.h:472
Attributes
access_mode
WORD access_mode
R/W flags
Defined in include/msystem.h:475
buf_size
INT buf_size
Record size in bytes
Defined in include/msystem.h:478
copy
void *copy
Pointer of copy to data
Defined in include/msystem.h:477
data
void *data
Pointer to local data
Defined in include/msystem.h:476
dispatcher
void (*dispatcher) (INT, INT, void *)
Pointer to dispatcher func.
Defined in include/msystem.h:479
handle
HNDLE handle
Handle of record base key
Defined in include/msystem.h:473
hDB
HNDLE hDB
Handle of record's database
Defined in include/msystem.h:474
info
void *info
addtl. info for dispatcher
Defined in include/msystem.h:480
rpc_server_acception_struct
Defined in include/msystem.h:362
Methods
clear
void clear()
Defined in include/msystem.h:379
close
void close()
Defined in include/msystem.h:399
Attributes
client_handle
HNDLE client_handle = 0
client key handle .
Defined in include/msystem.h:377
convert_flags
INT convert_flags = 0
convertion flags
Defined in include/msystem.h:372
event_sock
int event_sock = 0
tcp event socket
Defined in include/msystem.h:368
host_name
std::string host_name
client name
Defined in include/msystem.h:364
is_mserver
BOOL is_mserver = 0
this is an mserver server-side connection
Defined in include/msystem.h:365
last_activity
DWORD last_activity = 0
time of last recv
Defined in include/msystem.h:371
misalign
INT misalign = 0
pointers for cache
Defined in include/msystem.h:375
net_buffer
char *net_buffer = NULL
TCP cache buffer
Defined in include/msystem.h:373
net_buffer_size
INT net_buffer_size = 0
size of TCP cache
Defined in include/msystem.h:374
odb_handle
HNDLE odb_handle = 0
handle to online datab.
Defined in include/msystem.h:376
prog_name
std::string prog_name
client program name
Defined in include/msystem.h:363
read_ptr
INT read_ptr = 0
Defined in include/msystem.h:375
recv_sock
int recv_sock = 0
tcp receive socket
Defined in include/msystem.h:367
remote_hw_type
INT remote_hw_type = 0
hardware type
Defined in include/msystem.h:369
send_sock
int send_sock = 0
tcp send socket
Defined in include/msystem.h:366
watchdog_timeout
INT watchdog_timeout = 0
in milliseconds
Defined in include/msystem.h:370
write_ptr
INT write_ptr = 0
Defined in include/msystem.h:375
rpc_server_connection_struct
Defined in include/msystem.h:339
Methods
clear
void clear()
Defined in include/msystem.h:350
Attributes
event_sock
int event_sock
event socket
Defined in include/msystem.h:345
event_sock_mutex
std::mutex event_sock_mutex
protect event socket against multithreaded access
Defined in include/msystem.h:346
exp_name
std::string exp_name
experiment to connect
Defined in include/msystem.h:342
host_name
std::string host_name
server name
Defined in include/msystem.h:340
port
INT port
ip port
Defined in include/msystem.h:341
recv_sock
int recv_sock
tcp receive socket
Defined in include/msystem.h:344
remote_hw_type
INT remote_hw_type
remote hardware type
Defined in include/msystem.h:347
rpc_timeout
INT rpc_timeout
in milliseconds
Defined in include/msystem.h:348
send_sock
int send_sock
tcp send socket
Defined in include/msystem.h:343
WATCH_LIST
Defined in include/msystem.h:486
Attributes
dispatcher
void (*dispatcher) (INT, INT, INT, void* info)
Pointer to dispatcher func.
Defined in include/msystem.h:489
handle
HNDLE handle
Handle of watched base key
Defined in include/msystem.h:487
hDB
HNDLE hDB
Handle of watched database
Defined in include/msystem.h:488
info
void* info
addtl. info for dispatcher
Defined in include/msystem.h:490
Type definitions
RPC_SERVER_ACCEPTION
typedef struct rpc_server_acception_struct RPC_SERVER_ACCEPTION
Defined in include/msystem.h:362
RPC_SERVER_ACCEPTION_LIST
typedef std::vector<RPC_SERVER_ACCEPTION*> RPC_SERVER_ACCEPTION_LIST
Defined in include/msystem.h:402
RPC_SERVER_CONNECTION
typedef struct rpc_server_connection_struct RPC_SERVER_CONNECTION
Defined in include/msystem.h:339