Modules

ModuleSource FileDescription
dm_ansi ../../dm_ansi.f90

ANSI escape sequences for coloured terminal output.

Read more…
dm_api_status ../../dm_api_status.f90

HTTP-RPC API status message.

dm_arg ../../dm_arg.f90

Procedures for command-line argument parsing.

Read more…
dm_ascii ../../dm_ascii.f90

ASCII encoding/decoding procedures and predefined ASCII characters.

dm_atom ../../dm_atom.f90

Generator for the Atom Syndication Format (RFC 4287), to create a web feed of log messages in XML format, with optional XSLT style sheet.

dm_base64 ../../dm_base64.f90

Base64 encoding for poor people.

dm_beat ../../dm_beat.f90

Heartbeat message type.

dm_block ../../dm_block.f90

Module to serialise derived types into ASCII block format.

dm_c ../../dm_c.f90

Utility procedures for C interoperability.

dm_camera ../../dm_camera.f90

Module for taking still images from RTSP video streams and USB webcams, using FFmpeg.

Read more…
dm_cgi ../../dm_cgi.f90

Common Gateway Interface (CGI) utility procedures.

dm_cgi_router ../../dm_cgi_router.f90

Basic URI router for CGI. Depending on the path in the CGI environment variable PATH_INFO, a callback is invoked that returns the response of that URI.

dm_config ../../dm_config.f90

Module for loading Lua-based configuration files.

Read more…
dm_const ../../dm_const.f90

Definitions of mathematical constants.

dm_crypto ../../dm_crypto.f90

Cryptographic hash functions from OpenSSL:

Read more…
dm_csv ../../dm_csv.f90

Contains subroutines to convert various derived types to CSV format.

dm_db ../../dm_db.f90

Database abstraction layer over SQLite 3. The SQL statements are stored in module dm_sql.

Read more…
dm_dp ../../dm_dp.f90

X/Y data point type declaration that stores a single set of a time series.

dm_env ../../dm_env.f90

Module for reading environment variables.

dm_error ../../dm_error.f90

Error codes, error messages, and utility routines.

dm_fcgi ../../dm_fcgi.f90

FastCGI interface bindings and procedures.

dm_fifo ../../dm_fifo.f90

Abstraction layer for named pipe (FIFO) access on Unix.

dm_file ../../dm_file.f90

File access utility routines.

dm_format ../../dm_format.f90

Serialisation format definitions.

dm_geocom ../../dm_geocom.f90

Object-oriented GeoCOM API for Fortran.

Read more…
dm_geocom_api ../../dm_geocom_api.f90

Procedures for GeoCOM protocol handling. The routines in this module only prepare requests and responses for GeoCOM API calls.

Read more…
dm_geocom_error ../../dm_geocom_error.f90

GeoCOM return codes and return code messages. GeoCOM return codes have the prefix GRC_.

Read more…
dm_geocom_type ../../dm_geocom_type.f90

GeoCOM API types and enumerators. The GeoCOM named parameters start with prefix GEOCOM_.

dm_geojson ../../dm_geojson.f90

Contains subroutines to convert derived types to GeoJSON format (RFC 7946).

dm_gm ../../dm_gm.f90

Abstraction layer over GraphicsMagick. On Linux, install the package graphicsmagick:

Read more…
dm_hash ../../dm_hash.f90

Non-cryptographic hash functions (DJB2, DJB2a, FNV-1, FNV-1a).

dm_hash_table ../../dm_hash_table.f90

Very basic hash table implementation for a modest number of elements that stores only pointers to values.

dm_hdf5 ../../dm_hdf5.f90

Abstraction layer around HDF5. Has to be linked against -lhdf5 and -lhdf5_fortran.

Read more…
dm_html ../../dm_html.f90

HyperText Markup Language (HTML) generator procedures for (mostly) classless HTML5 syntax.

dm_http ../../dm_http.f90

HTTP status codes.

dm_id ../../dm_id.f90

ID string verification.

dm_im ../../dm_im.f90

Instant messaging module for Jabber/XMPP connectivity, based on libstrophe.

Read more…
dm_image ../../dm_image.f90

Image type module.

dm_job ../../dm_job.f90

Observation job and job list. Access to job lists is not thread-safe.

dm_json ../../dm_json.f90

Contains subroutines to convert derived types to JSON format.

dm_jsonl ../../dm_jsonl.f90

Contains subroutines to convert derived types to JSON Lines or Newline Delimited JSON format.

dm_kind ../../dm_kind.f90

ISO Fortran Environment imports and additional kind definitions.

Read more…
dm_la ../../dm_la.f90

Fortran 95 wrapper routines around LAPACK (double precision), ported from LAPACK95.

dm_log ../../dm_log.f90

Log type and log level declaration.

Read more…
dm_logger ../../dm_logger.f90

Object-oriented logger that outputs logs and optionally forwards them via POSIX message queue.

Read more…
dm_lua ../../dm_lua.f90

Lua abstraction layer that provides procedures for reading from and writing to the Lua stack.

Read more…
dm_lua_api ../../dm_lua_api.f90

DMPACK API for Lua.

dm_lua_geocom ../../dm_lua_geocom.f90

GeoCOM API for Lua.

dm_lua_lib ../../dm_lua_lib.f90

Auto-registration procedure of the DMPACK Lua API.

Read more…
dm_mail ../../dm_mail.f90

Module for sending plain-text e-mails via SMTP, using libcurl.

Read more…
dm_mime ../../dm_mime.f90

MIME types.

dm_modbus ../../dm_modbus.f90

Abstraction layer over libmodbus, for Modbus RTU/TCP communication.

Read more…
dm_mqtt ../../dm_mqtt.f90

Module for publishing messages via MQTT, using libcurl. The libcurl library must have been built with the MQTT option enabled.

Read more…
dm_mqueue ../../dm_mqueue.f90

Module for inter-process communication (IPC) and message passing through POSIX message queues. Has to be linked with -lrt.

dm_mqueue_util ../../dm_mqueue_util.f90

Utility procedures for message queue access.

dm_mutex ../../dm_mutex.f90

POSIX mutex abstraction layer. Has to be linked with -lpthread.

dm_net ../../dm_net.f90

TCP/IP parameters.

dm_nml ../../dm_nml.f90

Fortran 95 Namelist import/export of DMPACK derived types.

dm_node ../../dm_node.f90

Sensor node declaration.

dm_observ ../../dm_observ.f90

The observation data derived type declaration, and all associated procedures.

dm_path ../../dm_path.f90

File system path utility routines.

dm_person ../../dm_person.f90

Module for handling natural persons.

dm_pipe ../../dm_pipe.f90

Module for basic subprocess management on Unix. Procedures with name postfix 2 are for bi-directional IPC, all other for uni-directional only.

dm_platform ../../dm_platform.f90

System platform parameters.

dm_plot ../../dm_plot.f90

Abstraction layer over Gnuplot.

dm_regex ../../dm_regex.f90

Abstraction layer over PCRE2.

dm_report ../../dm_report.f90

Derived types for report generation.

dm_request ../../dm_request.f90

The observation request data derived type declaration.

dm_response ../../dm_response.f90

The observation response data derived type declaration.

dm_rpc ../../dm_rpc.f90

Abstraction layer for Remote Procedure Calls (RPCs) over HTTP, using libcurl.

Read more…
dm_rts ../../dm_rts.f90

Parameters and procedures for processing of measurement data obtained from a robotic total station (RTS) by Leica Geosystems.

Read more…
dm_sem ../../dm_sem.f90

Named and unnamed POSIX semaphores. Has to be linked with -lpthread.

dm_sensor ../../dm_sensor.f90

Sensor type declaration.

dm_signal ../../dm_signal.f90

Auxiliary interfaces and routines for signal handling on Unix.

dm_sql ../../dm_sql.f90

Predefined SQL statements as Fortran parameter strings.

dm_string ../../dm_string.f90

String utility routines.

dm_sync ../../dm_sync.f90

Module for keeping track of data record synchronisation status.

dm_system ../../dm_system.f90

Abstraction layers over system calls.

dm_target ../../dm_target.f90

Observation target declaration.

dm_test ../../dm_test.f90

Basic testing framework.

dm_thread ../../dm_thread.f90

Abstraction layer of POSIX threads. Has to be linked with -lpthread.

Read more…
dm_time ../../dm_time.f90

Date and time functions.

Read more…
dm_timer ../../dm_timer.f90

Basic timer to measure the seconds between start and stop by counting clock cycles.

dm_transform ../../dm_transform.f90

Coordinate transformations (unfinished).

dm_tty ../../dm_tty.f90

Serial port access (TTY/PTY) on Unix.

dm_type ../../dm_type.f90

DMPACK derived type enumerators and utilities.

dm_unit ../../dm_unit.f90

Unit definitions and conversion functions.

dm_util ../../dm_util.f90

Type conversion functions and other utility procedures.

dm_uuid ../../dm_uuid.f90

Provides a UUIDv4 generator. DMPACK uses 32 characters long UUIDv4 identifiers in hexadecimal format, without hyphens.

dm_version ../../dm_version.f90

DMPACK version and auxiliary procedures.

dm_z ../../dm_z.f90

Utility module for (de-)serialisation and (de-)compression (zlib, zstd) of derived types. Namelist is the only serialisation format supported.

dm_zlib ../../dm_zlib.f90

Abstraction layer over zlib (deflate, inflate).

dm_zstd ../../dm_zstd.f90

Abstraction layer over Zstandard (zstd).

dmpack ../../dmpack.f90

The DMPACK library module. Import this module to access any DMPACK procedures:

Read more…
module~~graph~~ModuleGraph module~dm_ansi dm_ansi module~dm_ascii dm_ascii module~dm_ansi->module~dm_ascii module~dm_api_status dm_api_status module~dm_api_status->module~dm_ascii module~dm_error dm_error module~dm_api_status->module~dm_error module~dm_time dm_time module~dm_api_status->module~dm_time module~dm_util dm_util module~dm_api_status->module~dm_util module~dm_version dm_version module~dm_api_status->module~dm_version module~dm_arg dm_arg module~dm_arg->module~dm_ascii module~dm_arg->module~dm_error module~dm_file dm_file module~dm_arg->module~dm_file module~dm_kind dm_kind module~dm_arg->module~dm_kind module~dm_arg->module~dm_util module~dm_atom dm_atom module~dm_atom->module~dm_ascii module~dm_html dm_html module~dm_atom->module~dm_html module~dm_log dm_log module~dm_atom->module~dm_log module~dm_atom->module~dm_time module~dm_uuid dm_uuid module~dm_atom->module~dm_uuid module~dm_atom->module~dm_version module~dm_base64 dm_base64 module~dm_base64->module~dm_ascii module~dm_base64->module~dm_error module~dm_base64->module~dm_kind module~dm_beat dm_beat module~dm_beat->module~dm_error module~dm_id dm_id module~dm_beat->module~dm_id module~dm_beat->module~dm_kind module~dm_net dm_net module~dm_beat->module~dm_net module~dm_node dm_node module~dm_beat->module~dm_node module~dm_beat->module~dm_time module~dm_block dm_block module~dm_dp dm_dp module~dm_block->module~dm_dp module~dm_block->module~dm_error module~dm_block->module~dm_kind module~dm_c dm_c module~dm_c->module~dm_kind iso_c_binding iso_c_binding module~dm_c->iso_c_binding module~dm_camera dm_camera module~dm_camera->module~dm_error module~dm_camera->module~dm_file module~dm_string dm_string module~dm_camera->module~dm_string module~dm_cgi dm_cgi module~dm_cgi->module~dm_ascii module~dm_cgi->module~dm_error module~dm_hash dm_hash module~dm_cgi->module~dm_hash module~dm_http dm_http module~dm_cgi->module~dm_http module~dm_cgi->module~dm_kind module~dm_mime dm_mime module~dm_cgi->module~dm_mime module~dm_cgi->module~dm_string module~dm_cgi->module~dm_time module~dm_cgi->module~dm_util module~dm_cgi_router dm_cgi_router module~dm_cgi_router->module~dm_cgi module~dm_cgi_router->module~dm_error module~dm_hash_table dm_hash_table module~dm_cgi_router->module~dm_hash_table module~dm_config dm_config module~dm_config->module~dm_error module~dm_config->module~dm_id module~dm_config->module~dm_kind module~dm_lua dm_lua module~dm_config->module~dm_lua module~dm_config->module~dm_string module~dm_const dm_const module~dm_const->module~dm_kind module~dm_crypto dm_crypto module~dm_crypto->module~dm_c module~dm_crypto->module~dm_string module~dm_crypto->iso_c_binding module~dm_csv dm_csv module~dm_csv->module~dm_ascii module~dm_csv->module~dm_error module~dm_csv->module~dm_kind module~dm_csv->module~dm_string module~dm_csv->module~dm_util module~dm_db dm_db module~dm_db->module~dm_error module~dm_db->module~dm_id module~dm_db->module~dm_kind module~dm_sql dm_sql module~dm_db->module~dm_sql module~dm_db->module~dm_string module~dm_db->module~dm_time module~dm_db->module~dm_util module~dm_db->module~dm_uuid module~dm_db->iso_c_binding sqlite3 sqlite3 module~dm_db->sqlite3 module~dm_dp->module~dm_error module~dm_dp->module~dm_kind module~dm_dp->module~dm_time module~dm_env dm_env module~dm_env->module~dm_error module~dm_env->module~dm_kind module~dm_env->module~dm_string module~dm_error->module~dm_ascii module~dm_error->module~dm_kind module~dm_fcgi dm_fcgi module~dm_fcgi->module~dm_cgi module~dm_fcgi->module~dm_error module~dm_fcgi->module~dm_kind module~dm_fcgi->iso_c_binding module~dm_fifo dm_fifo module~dm_fifo->module~dm_error module~dm_fifo->module~dm_file module~dm_fifo->module~dm_kind unix unix module~dm_fifo->unix module~dm_file->module~dm_error module~dm_file->module~dm_kind module~dm_format dm_format module~dm_geocom dm_geocom module~dm_geocom->module~dm_error module~dm_geocom_api dm_geocom_api module~dm_geocom->module~dm_geocom_api module~dm_geocom_error dm_geocom_error module~dm_geocom->module~dm_geocom_error module~dm_geocom_type dm_geocom_type module~dm_geocom->module~dm_geocom_type module~dm_geocom->module~dm_kind module~dm_request dm_request module~dm_geocom->module~dm_request module~dm_response dm_response module~dm_geocom->module~dm_response module~dm_tty dm_tty module~dm_geocom->module~dm_tty module~dm_geocom->module~dm_util module~dm_geocom_api->module~dm_geocom_type module~dm_geocom_api->module~dm_kind module~dm_geocom_api->module~dm_request module~dm_geocom_api->module~dm_response module~dm_geocom_api->module~dm_util module~dm_geocom_type->module~dm_error module~dm_geojson dm_geojson module~dm_geojson->module~dm_ascii module~dm_geojson->module~dm_error module~dm_json dm_json module~dm_geojson->module~dm_json module~dm_geojson->module~dm_kind module~dm_type dm_type module~dm_geojson->module~dm_type module~dm_geojson->module~dm_util module~dm_gm dm_gm module~dm_gm->module~dm_error module~dm_gm->module~dm_file module~dm_hash->module~dm_kind module~dm_platform dm_platform module~dm_hash->module~dm_platform module~dm_hash_table->module~dm_error module~dm_hash_table->module~dm_hash module~dm_hash_table->module~dm_kind module~dm_hdf5 dm_hdf5 module~dm_hdf5->module~dm_error module~dm_hdf5->module~dm_kind hdf5 hdf5 module~dm_hdf5->hdf5 module~dm_html->module~dm_ascii module~dm_html->module~dm_error module~dm_html->module~dm_kind module~dm_html->module~dm_string module~dm_html->module~dm_util module~dm_html->module~dm_version module~dm_im dm_im module~dm_im->module~dm_error module~dm_im->module~dm_file module~dm_im->module~dm_id module~dm_im->module~dm_kind module~dm_im->module~dm_mime module~dm_im->iso_c_binding xmpp xmpp module~dm_im->xmpp module~dm_image dm_image module~dm_image->module~dm_id module~dm_image->module~dm_mime module~dm_image->module~dm_node module~dm_sensor dm_sensor module~dm_image->module~dm_sensor module~dm_image->module~dm_time module~dm_job dm_job module~dm_job->module~dm_error module~dm_job->module~dm_id module~dm_observ dm_observ module~dm_job->module~dm_observ module~dm_json->module~dm_dp module~dm_json->module~dm_error module~dm_json->module~dm_kind module~dm_json->module~dm_util module~dm_jsonl dm_jsonl module~dm_jsonl->module~dm_ascii module~dm_jsonl->module~dm_error module~dm_jsonl->module~dm_json module~dm_jsonl->module~dm_kind module~dm_jsonl->module~dm_util iso_fortran_env iso_fortran_env module~dm_kind->iso_fortran_env module~dm_la dm_la module~dm_la->module~dm_kind module~dm_log->module~dm_error module~dm_log->module~dm_id module~dm_log->module~dm_kind module~dm_log->module~dm_node module~dm_log->module~dm_observ module~dm_log->module~dm_sensor module~dm_target dm_target module~dm_log->module~dm_target module~dm_log->module~dm_time module~dm_log->module~dm_uuid module~dm_logger dm_logger module~dm_logger->module~dm_ansi module~dm_logger->module~dm_error module~dm_logger->module~dm_id module~dm_logger->module~dm_kind module~dm_logger->module~dm_log module~dm_logger->module~dm_node module~dm_logger->module~dm_observ module~dm_logger->module~dm_type module~dm_lua->module~dm_error module~dm_lua->module~dm_file module~dm_lua->module~dm_kind module~dm_lua->module~dm_string module~dm_lua->module~dm_util module~dm_lua->iso_c_binding lua lua module~dm_lua->lua module~dm_lua_api dm_lua_api module~dm_lua_api->module~dm_error module~dm_lua_api->module~dm_lua module~dm_lua_api->module~dm_util module~dm_lua_api->iso_c_binding module~dm_lua_geocom dm_lua_geocom module~dm_lua_geocom->module~dm_error module~dm_lua_geocom->module~dm_geocom_api module~dm_lua_geocom->module~dm_geocom_error module~dm_lua_geocom->module~dm_geocom_type module~dm_lua_geocom->module~dm_kind module~dm_lua_geocom->module~dm_lua module~dm_lua_geocom->module~dm_request module~dm_lua_geocom->iso_c_binding module~dm_lua_lib dm_lua_lib module~dm_lua_lib->iso_c_binding module~dm_mail dm_mail module~dm_mail->module~dm_error module~dm_mail->module~dm_kind module~dm_person dm_person module~dm_mail->module~dm_person module~dm_mail->module~dm_time module~dm_mail->module~dm_util curl curl module~dm_mail->curl module~dm_mail->iso_c_binding module~dm_modbus dm_modbus module~dm_modbus->module~dm_c module~dm_modbus->module~dm_error module~dm_modbus->module~dm_kind module~dm_modbus->iso_c_binding modbus modbus module~dm_modbus->modbus modbus_rtu modbus_rtu module~dm_modbus->modbus_rtu modbus_tcp modbus_tcp module~dm_modbus->modbus_tcp module~dm_mqtt dm_mqtt module~dm_mqtt->module~dm_error module~dm_mqtt->module~dm_kind module~dm_mqtt->module~dm_util module~dm_mqtt->curl module~dm_mqtt->iso_c_binding module~dm_mqueue dm_mqueue module~dm_mqueue->module~dm_error module~dm_mqueue->module~dm_id module~dm_mqueue->module~dm_kind module~dm_mqueue->module~dm_log module~dm_mqueue->module~dm_observ module~dm_mqueue->module~dm_type module~dm_mqueue->unix module~dm_mqueue_util dm_mqueue_util module~dm_mqueue_util->module~dm_error module~dm_mqueue_util->module~dm_mqueue module~dm_mqueue_util->module~dm_type module~dm_mqueue_util->module~dm_util module~dm_mutex dm_mutex module~dm_mutex->module~dm_error module~dm_mutex->unix module~dm_nml dm_nml module~dm_nml->module~dm_error module~dm_nml->module~dm_kind module~dm_node->module~dm_id module~dm_node->module~dm_kind module~dm_observ->module~dm_error module~dm_observ->module~dm_id module~dm_observ->module~dm_kind module~dm_observ->module~dm_node module~dm_observ->module~dm_request module~dm_observ->module~dm_response module~dm_observ->module~dm_sensor module~dm_observ->module~dm_target module~dm_observ->module~dm_time module~dm_observ->module~dm_util module~dm_observ->module~dm_uuid module~dm_path dm_path module~dm_pipe dm_pipe module~dm_pipe->module~dm_error module~dm_pipe->module~dm_kind module~dm_pipe->unix module~dm_plot dm_plot module~dm_plot->module~dm_dp module~dm_plot->module~dm_error module~dm_plot->module~dm_file module~dm_plot->module~dm_kind module~dm_plot->module~dm_pipe module~dm_plot->module~dm_string module~dm_plot->module~dm_time module~dm_plot->iso_c_binding module~dm_regex dm_regex module~dm_regex->module~dm_error module~dm_regex->module~dm_kind module~dm_regex->iso_c_binding pcre2 pcre2 module~dm_regex->pcre2 module~dm_report dm_report module~dm_report->module~dm_file module~dm_report->module~dm_id module~dm_report->module~dm_kind module~dm_report->module~dm_log module~dm_report->module~dm_node module~dm_report->module~dm_plot module~dm_report->module~dm_response module~dm_report->module~dm_sensor module~dm_report->module~dm_target module~dm_report->module~dm_time module~dm_request->module~dm_error module~dm_request->module~dm_id module~dm_request->module~dm_kind module~dm_request->module~dm_response module~dm_request->module~dm_string module~dm_request->module~dm_time module~dm_request->module~dm_util module~dm_response->module~dm_error module~dm_response->module~dm_id module~dm_response->module~dm_kind module~dm_response->module~dm_util module~dm_rpc dm_rpc module~dm_rpc->module~dm_error module~dm_rpc->module~dm_http module~dm_rpc->module~dm_kind module~dm_rpc->module~dm_mime module~dm_rpc->module~dm_util module~dm_rpc->module~dm_version module~dm_z dm_z module~dm_rpc->module~dm_z module~dm_rpc->curl module~dm_rpc->iso_c_binding module~dm_rts dm_rts module~dm_rts->module~dm_kind module~dm_sem dm_sem module~dm_sem->module~dm_error module~dm_sem->module~dm_id module~dm_sem->unix module~dm_sensor->module~dm_id module~dm_sensor->module~dm_kind module~dm_sensor->module~dm_node module~dm_signal dm_signal module~dm_signal->unix module~dm_sql->module~dm_ascii module~dm_string->module~dm_error module~dm_string->module~dm_kind module~dm_sync dm_sync module~dm_sync->module~dm_kind module~dm_sync->module~dm_observ module~dm_sync->module~dm_string module~dm_sync->module~dm_time module~dm_sync->module~dm_uuid module~dm_system dm_system module~dm_system->module~dm_error module~dm_system->module~dm_kind module~dm_system->unix module~dm_target->module~dm_id module~dm_target->module~dm_kind module~dm_target->module~dm_util module~dm_test dm_test module~dm_test->module~dm_ansi module~dm_test->module~dm_ascii module~dm_test->module~dm_error module~dm_test->module~dm_kind module~dm_test->module~dm_time module~dm_test->module~dm_util module~dm_test->module~dm_uuid module~dm_thread dm_thread module~dm_thread->module~dm_error module~dm_thread->unix module~dm_time->module~dm_error module~dm_time->module~dm_kind module~dm_time->module~dm_util module~dm_timer dm_timer module~dm_timer->module~dm_kind module~dm_transform dm_transform module~dm_transform->module~dm_const module~dm_transform->module~dm_error module~dm_transform->module~dm_kind module~dm_transform->module~dm_la module~dm_transform->module~dm_util module~dm_tty->module~dm_error module~dm_tty->module~dm_file module~dm_tty->module~dm_kind module~dm_tty->module~dm_string module~dm_tty->iso_c_binding module~dm_unit dm_unit module~dm_unit->module~dm_error module~dm_unit->module~dm_kind module~dm_unit->module~dm_util module~dm_util->module~dm_error module~dm_util->module~dm_kind module~dm_z->module~dm_error module~dm_z->module~dm_kind module~dm_z->module~dm_nml module~dm_zlib dm_zlib module~dm_z->module~dm_zlib module~dm_zstd dm_zstd module~dm_z->module~dm_zstd module~dm_zlib->module~dm_error module~dm_zlib->module~dm_kind zlib zlib module~dm_zlib->zlib module~dm_zstd->module~dm_error module~dm_zstd->module~dm_kind module~dm_zstd->iso_c_binding zstd zstd module~dm_zstd->zstd module~dmpack dmpack module~dmpack->module~dm_ansi module~dmpack->module~dm_api_status module~dmpack->module~dm_arg module~dmpack->module~dm_ascii module~dmpack->module~dm_atom module~dmpack->module~dm_base64 module~dmpack->module~dm_beat module~dmpack->module~dm_block module~dmpack->module~dm_c module~dmpack->module~dm_camera module~dmpack->module~dm_cgi module~dmpack->module~dm_cgi_router module~dmpack->module~dm_config module~dmpack->module~dm_const module~dmpack->module~dm_crypto module~dmpack->module~dm_csv module~dmpack->module~dm_db module~dmpack->module~dm_dp module~dmpack->module~dm_env module~dmpack->module~dm_error module~dmpack->module~dm_fcgi module~dmpack->module~dm_fifo module~dmpack->module~dm_file module~dmpack->module~dm_format module~dmpack->module~dm_geocom module~dmpack->module~dm_geocom_api module~dmpack->module~dm_geocom_error module~dmpack->module~dm_geocom_type module~dmpack->module~dm_geojson module~dmpack->module~dm_gm module~dmpack->module~dm_hash module~dmpack->module~dm_hash_table module~dmpack->module~dm_hdf5 module~dmpack->module~dm_html module~dmpack->module~dm_http module~dmpack->module~dm_id module~dmpack->module~dm_im module~dmpack->module~dm_image module~dmpack->module~dm_job module~dmpack->module~dm_json module~dmpack->module~dm_jsonl module~dmpack->module~dm_kind module~dmpack->module~dm_la module~dmpack->module~dm_log module~dmpack->module~dm_logger module~dmpack->module~dm_lua module~dmpack->module~dm_lua_api module~dmpack->module~dm_lua_geocom module~dmpack->module~dm_lua_lib module~dmpack->module~dm_mail module~dmpack->module~dm_mime module~dmpack->module~dm_modbus module~dmpack->module~dm_mqtt module~dmpack->module~dm_mqueue module~dmpack->module~dm_mqueue_util module~dmpack->module~dm_mutex module~dmpack->module~dm_net module~dmpack->module~dm_nml module~dmpack->module~dm_node module~dmpack->module~dm_observ module~dmpack->module~dm_path module~dmpack->module~dm_person module~dmpack->module~dm_pipe module~dmpack->module~dm_platform module~dmpack->module~dm_plot module~dmpack->module~dm_regex module~dmpack->module~dm_report module~dmpack->module~dm_request module~dmpack->module~dm_response module~dmpack->module~dm_rpc module~dmpack->module~dm_rts module~dmpack->module~dm_sem module~dmpack->module~dm_sensor module~dmpack->module~dm_signal module~dmpack->module~dm_sql module~dmpack->module~dm_string module~dmpack->module~dm_sync module~dmpack->module~dm_system module~dmpack->module~dm_target module~dmpack->module~dm_test module~dmpack->module~dm_thread module~dmpack->module~dm_time module~dmpack->module~dm_timer module~dmpack->module~dm_transform module~dmpack->module~dm_tty module~dmpack->module~dm_type module~dmpack->module~dm_unit module~dmpack->module~dm_util module~dmpack->module~dm_uuid module~dmpack->module~dm_version module~dmpack->module~dm_z module~dmpack->module~dm_zlib module~dmpack->module~dm_zstd proc~dm_api_status_from_string dm_api_status_from_string proc~dm_api_status_from_string->module~dm_string proc~dm_arg_read dm_arg_read proc~dm_arg_read->module~dm_version proc~dm_arg_validate dm_arg_validate proc~dm_arg_validate->module~dm_id proc~dm_arg_validate->module~dm_log proc~dm_arg_validate->module~dm_string proc~dm_arg_validate->module~dm_time proc~dm_arg_validate->module~dm_uuid proc~dm_beat_is_valid dm_beat_is_valid proc~dm_beat_is_valid->module~dm_string proc~dm_cgi_content dm_cgi_content proc~dm_cgi_content->unix proc~dm_cgi_router_dispatch dm_cgi_router_dispatch proc~dm_cgi_router_dispatch->module~dm_http proc~dm_config_open dm_config_open proc~dm_config_open->module~dm_file proc~dm_config_open->module~dm_lua_api proc~dm_config_open->module~dm_lua_geocom proc~dm_csv_header_observ dm_csv_header_observ proc~dm_csv_header_observ->module~dm_observ proc~dm_csv_header_observ->module~dm_request proc~dm_db_attach dm_db_attach proc~dm_db_attach->module~dm_file proc~dm_db_backup dm_db_backup proc~dm_db_backup->module~dm_file proc~dm_db_insert_beat dm_db_insert_beat proc~dm_db_insert_beat->module~dm_beat proc~dm_db_insert_beats dm_db_insert_beats proc~dm_db_insert_beats->module~dm_beat proc~dm_db_insert_log dm_db_insert_log proc~dm_db_insert_log->module~dm_log proc~dm_db_insert_node dm_db_insert_node proc~dm_db_insert_node->module~dm_node proc~dm_db_insert_observ dm_db_insert_observ proc~dm_db_insert_observ->module~dm_observ proc~dm_db_insert_observs dm_db_insert_observs proc~dm_db_insert_observs->module~dm_observ proc~dm_db_insert_sensor dm_db_insert_sensor proc~dm_db_insert_sensor->module~dm_sensor proc~dm_db_insert_sync dm_db_insert_sync proc~dm_db_insert_sync->module~dm_sync proc~dm_db_insert_sync_log dm_db_insert_sync_log proc~dm_db_insert_sync_log->module~dm_sync proc~dm_db_insert_sync_node dm_db_insert_sync_node proc~dm_db_insert_sync_node->module~dm_sync proc~dm_db_insert_sync_observ dm_db_insert_sync_observ proc~dm_db_insert_sync_observ->module~dm_sync proc~dm_db_insert_sync_sensor dm_db_insert_sync_sensor proc~dm_db_insert_sync_sensor->module~dm_sync proc~dm_db_insert_sync_target dm_db_insert_sync_target proc~dm_db_insert_sync_target->module~dm_sync proc~dm_db_insert_target dm_db_insert_target proc~dm_db_insert_target->module~dm_target proc~dm_db_open dm_db_open proc~dm_db_open->module~dm_file proc~dm_db_select_beat dm_db_select_beat proc~dm_db_select_beat->module~dm_beat proc~dm_db_select_log dm_db_select_log proc~dm_db_select_log->module~dm_log proc~dm_db_select_logs_by_observ dm_db_select_logs_by_observ proc~dm_db_select_logs_by_observ->module~dm_log proc~dm_db_select_node dm_db_select_node proc~dm_db_select_node->module~dm_node proc~dm_db_select_observ dm_db_select_observ proc~dm_db_select_observ->module~dm_observ proc~dm_db_select_observ_ids dm_db_select_observ_ids proc~dm_db_select_observ_ids->module~dm_observ proc~dm_db_select_observ_views dm_db_select_observ_views proc~dm_db_select_observ_views->module~dm_observ proc~dm_db_select_observs_by_id dm_db_select_observs_by_id proc~dm_db_select_observs_by_id->module~dm_observ proc~dm_db_select_observs_by_time dm_db_select_observs_by_time proc~dm_db_select_observs_by_time->module~dm_observ proc~dm_db_select_sensor dm_db_select_sensor proc~dm_db_select_sensor->module~dm_sensor proc~dm_db_select_sync_log dm_db_select_sync_log proc~dm_db_select_sync_log->module~dm_sync proc~dm_db_select_sync_logs dm_db_select_sync_logs proc~dm_db_select_sync_logs->module~dm_sync proc~dm_db_select_sync_node dm_db_select_sync_node proc~dm_db_select_sync_node->module~dm_sync proc~dm_db_select_sync_nodes dm_db_select_sync_nodes proc~dm_db_select_sync_nodes->module~dm_sync proc~dm_db_select_sync_observ dm_db_select_sync_observ proc~dm_db_select_sync_observ->module~dm_sync proc~dm_db_select_sync_observs dm_db_select_sync_observs proc~dm_db_select_sync_observs->module~dm_sync proc~dm_db_select_sync_sensor dm_db_select_sync_sensor proc~dm_db_select_sync_sensor->module~dm_sync proc~dm_db_select_sync_sensors dm_db_select_sync_sensors proc~dm_db_select_sync_sensors->module~dm_sync proc~dm_db_select_sync_target dm_db_select_sync_target proc~dm_db_select_sync_target->module~dm_sync proc~dm_db_select_sync_targets dm_db_select_sync_targets proc~dm_db_select_sync_targets->module~dm_sync proc~dm_db_select_target dm_db_select_target proc~dm_db_select_target->module~dm_target proc~dm_db_update_node dm_db_update_node proc~dm_db_update_node->module~dm_node proc~dm_db_update_sensor dm_db_update_sensor proc~dm_db_update_sensor->module~dm_sensor proc~dm_db_update_target dm_db_update_target proc~dm_db_update_target->module~dm_target proc~dm_db_vacuum dm_db_vacuum proc~dm_db_vacuum->module~dm_file proc~dm_deg_to_rad dm_deg_to_rad proc~dm_deg_to_rad->module~dm_const proc~dm_fcgi_header dm_fcgi_header proc~dm_fcgi_header->module~dm_ascii proc~dm_fcgi_header->module~dm_http proc~dm_fcgi_header->module~dm_util proc~dm_file_status dm_file_status proc~dm_file_status->module~dm_c proc~dm_file_status->unix proc~dm_format_from_name dm_format_from_name proc~dm_format_from_name->module~dm_string proc~dm_geocom_error_message dm_geocom_error_message proc~dm_geocom_error_message->module~dm_util proc~dm_gm_get_mime dm_gm_get_mime proc~dm_gm_get_mime->module~dm_mime proc~dm_gon_to_rad dm_gon_to_rad proc~dm_gon_to_rad->module~dm_const proc~dm_hdf5_file_is_valid dm_hdf5_file_is_valid proc~dm_hdf5_file_is_valid->module~dm_file proc~dm_hdf5_version_number dm_hdf5_version_number h5lib h5lib proc~dm_hdf5_version_number->h5lib proc~dm_html_beat dm_html_beat proc~dm_html_beat->module~dm_beat proc~dm_html_beat->module~dm_time proc~dm_html_beats dm_html_beats proc~dm_html_beats->module~dm_beat proc~dm_html_beats->module~dm_time proc~dm_html_cgi_env dm_html_cgi_env proc~dm_html_cgi_env->module~dm_cgi proc~dm_html_data_uri dm_html_data_uri proc~dm_html_data_uri->module~dm_base64 proc~dm_html_log dm_html_log proc~dm_html_log->module~dm_log proc~dm_html_logs dm_html_logs proc~dm_html_logs->module~dm_log proc~dm_html_node dm_html_node proc~dm_html_node->module~dm_node proc~dm_html_nodes dm_html_nodes proc~dm_html_nodes->module~dm_node proc~dm_html_observ dm_html_observ proc~dm_html_observ->module~dm_observ proc~dm_html_observs dm_html_observs proc~dm_html_observs->module~dm_observ proc~dm_html_request dm_html_request proc~dm_html_request->module~dm_request proc~dm_html_responses dm_html_responses proc~dm_html_responses->module~dm_response proc~dm_html_sensor dm_html_sensor proc~dm_html_sensor->module~dm_sensor proc~dm_html_sensors dm_html_sensors proc~dm_html_sensors->module~dm_sensor proc~dm_html_target dm_html_target proc~dm_html_target->module~dm_target proc~dm_html_targets dm_html_targets proc~dm_html_targets->module~dm_target proc~dm_html_time dm_html_time proc~dm_html_time->module~dm_time proc~dm_im_create_iq_http_upload dm_im_create_iq_http_upload proc~dm_im_create_iq_http_upload->module~dm_util proc~dm_im_send_presence dm_im_send_presence proc~dm_im_send_presence->module~dm_string proc~dm_log_is_valid dm_log_is_valid proc~dm_log_is_valid->module~dm_string proc~dm_log_level_from_name dm_log_level_from_name proc~dm_log_level_from_name->module~dm_string proc~dm_log_level_from_string dm_log_level_from_string proc~dm_log_level_from_string->module~dm_string proc~dm_lua_api_deg2gon dm_lua_api_deg2gon proc~dm_lua_api_deg2gon->lua proc~dm_lua_api_deg2rad dm_lua_api_deg2rad proc~dm_lua_api_deg2rad->lua proc~dm_lua_api_gon2deg dm_lua_api_gon2deg proc~dm_lua_api_gon2deg->lua proc~dm_lua_api_gon2rad dm_lua_api_gon2rad proc~dm_lua_api_gon2rad->lua proc~dm_lua_api_rad2deg dm_lua_api_rad2deg proc~dm_lua_api_rad2deg->lua proc~dm_lua_api_rad2gon dm_lua_api_rad2gon proc~dm_lua_api_rad2gon->lua proc~dm_lua_api_register dm_lua_api_register proc~dm_lua_api_register->module~dm_log proc~dm_lua_api_register->module~dm_response proc~dm_lua_geocom_register dm_lua_geocom_register proc~dm_lua_geocom_register->module~dm_util proc~dm_mail_write dm_mail_write proc~dm_mail_write->module~dm_ascii proc~dm_modbus_byte_order_from_name dm_modbus_byte_order_from_name proc~dm_modbus_byte_order_from_name->module~dm_string proc~dm_modbus_create_rtu dm_modbus_create_rtu proc~dm_modbus_create_rtu->module~dm_tty proc~dm_modbus_error_message dm_modbus_error_message proc~dm_modbus_error_message->unix proc~dm_msleep dm_msleep proc~dm_msleep->unix proc~dm_node_equals dm_node_equals proc~dm_node_equals->module~dm_util proc~dm_rad_to_deg dm_rad_to_deg proc~dm_rad_to_deg->module~dm_const proc~dm_rad_to_gon dm_rad_to_gon proc~dm_rad_to_gon->module~dm_const proc~dm_regex_request dm_regex_request proc~dm_regex_request->module~dm_request proc~dm_regex_request->module~dm_response proc~dm_regex_request->module~dm_string proc~dm_regex_request->module~dm_util proc~dm_regex_response_string dm_regex_response_string proc~dm_regex_response_string->module~dm_request proc~dm_rpc_post_types dm_rpc_post_types proc~dm_rpc_post_types->module~dm_zstd proc~dm_sensor_equals dm_sensor_equals proc~dm_sensor_equals->module~dm_util proc~dm_sensor_type_from_name dm_sensor_type_from_name proc~dm_sensor_type_from_name->module~dm_string proc~dm_signal_name dm_signal_name proc~dm_signal_name->module~dm_util proc~dm_sleep dm_sleep proc~dm_sleep->unix proc~dm_stop dm_stop proc~dm_stop->unix proc~dm_string_count_lines dm_string_count_lines proc~dm_string_count_lines->module~dm_ascii proc~dm_string_is_printable dm_string_is_printable proc~dm_string_is_printable->module~dm_ascii proc~dm_test_dummy_beat dm_test_dummy_beat proc~dm_test_dummy_beat->module~dm_beat proc~dm_test_dummy_beat->module~dm_version proc~dm_test_dummy_log dm_test_dummy_log proc~dm_test_dummy_log->module~dm_log proc~dm_test_dummy_node dm_test_dummy_node proc~dm_test_dummy_node->module~dm_node proc~dm_test_dummy_observ dm_test_dummy_observ proc~dm_test_dummy_observ->module~dm_observ proc~dm_test_dummy_observ->module~dm_request proc~dm_test_dummy_request dm_test_dummy_request proc~dm_test_dummy_request->module~dm_request proc~dm_test_dummy_request->module~dm_response proc~dm_test_dummy_sensor dm_test_dummy_sensor proc~dm_test_dummy_sensor->module~dm_sensor proc~dm_test_dummy_target dm_test_dummy_target proc~dm_test_dummy_target->module~dm_target proc~dm_test_run dm_test_run proc~dm_test_run->module~dm_system proc~dm_test_run->module~dm_time proc~dm_test_run->module~dm_timer proc~dm_test_run->module~dm_version proc~dm_test_run->iso_fortran_env proc~dm_test_skip dm_test_skip proc~dm_test_skip->module~dm_env proc~dm_time_is_valid dm_time_is_valid proc~dm_time_is_valid->module~dm_ascii proc~dm_time_mseconds dm_time_mseconds proc~dm_time_mseconds->unix proc~dm_time_now dm_time_now proc~dm_time_now->unix proc~dm_time_strings dm_time_strings proc~dm_time_strings->unix proc~dm_time_to_unix dm_time_to_unix proc~dm_time_to_unix->unix proc~dm_tty_close dm_tty_close proc~dm_tty_close->unix proc~dm_tty_flush dm_tty_flush proc~dm_tty_flush->unix proc~dm_tty_open dm_tty_open proc~dm_tty_open->unix proc~dm_tty_read_byte dm_tty_read_byte proc~dm_tty_read_byte->unix proc~dm_tty_read_request dm_tty_read_request proc~dm_tty_read_request->module~dm_ascii proc~dm_tty_read_request->module~dm_request proc~dm_tty_set_attributes dm_tty_set_attributes proc~dm_tty_set_attributes->module~dm_c proc~dm_tty_set_attributes->unix proc~dm_tty_set_blocking dm_tty_set_blocking proc~dm_tty_set_blocking->unix proc~dm_tty_set_timeout dm_tty_set_timeout proc~dm_tty_set_timeout->unix proc~dm_tty_write_bytes dm_tty_write_bytes proc~dm_tty_write_bytes->unix proc~dm_tty_write_request dm_tty_write_request proc~dm_tty_write_request->module~dm_ascii proc~dm_tty_write_request->module~dm_request proc~dm_type_from_name dm_type_from_name proc~dm_type_from_name->module~dm_string proc~dm_usleep dm_usleep proc~dm_usleep->unix proc~dm_z_compress_type dm_z_compress_type proc~dm_z_compress_type->module~dm_beat proc~dm_z_compress_type->module~dm_log proc~dm_z_compress_type->module~dm_node proc~dm_z_compress_type->module~dm_observ proc~dm_z_compress_type->module~dm_sensor proc~dm_z_compress_type->module~dm_target proc~dm_z_compress_types dm_z_compress_types proc~dm_z_compress_types->module~dm_string proc~dm_z_type_from_name dm_z_type_from_name proc~dm_z_type_from_name->module~dm_string proc~luaopen_libdmpack luaopen_libdmpack proc~luaopen_libdmpack->module~dm_lua proc~luaopen_libdmpack->module~dm_lua_api proc~luaopen_libdmpack->module~dm_lua_geocom
Help