Adaptyst
A comprehensive and architecture-agnostic performance analysis tool
Loading...
Searching...
No Matches
hw.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 CERN
2// SPDX-License-Identifier: LGPL-3.0-or-later
3
4#ifndef ADAPTYST_HW_H_
5#define ADAPTYST_HW_H_
6
7#ifndef __cplusplus
8#include <stdbool.h>
9#endif
10
11#include <adaptyst/amod_t.h>
12
62#define ADAPTYST_OK 0
63#define ADAPTYST_ERR_MODULE_NOT_FOUND 1
64#define ADAPTYST_ERR_OUT_OF_MEMORY 2
65#define ADAPTYST_ERR_EXCEPTION 3
66#define ADAPTYST_ERR_TERMINAL_NOT_INITIALISED 4
67#define ADAPTYST_ERR_LOG_DIR_CREATE 5
68#define ADAPTYST_ERR_INIT_ONLY 6
69#define ADAPTYST_ERR_TIMEOUT 7
70#define ADAPTYST_ERR_WORKFLOW_NOT_STARTED 8
71#define ADAPTYST_ERR_TIMESTAMP 9
72#define ADAPTYST_ERR_WORKFLOW_RUNNING 10
73
74#ifdef __cplusplus
75extern "C" {
76#endif
80 typedef enum {
82 INT = 1,
84 STRING = 2,
88 BOOL = 4,
90 NONE = 0
92
96 typedef struct {
99
104 void *data;
105
109 unsigned int len;
110 } option;
111
115 typedef enum {
117 LINUX_PROCESS = 0
119
123 typedef struct {
127 union {
132 int pid;
133 } data;
134 } profile_info;
135
145 const char *adaptyst_get_library_dir(amod_t id);
146
157 option *adaptyst_get_option(amod_t id, const char *key);
158
167 bool adaptyst_set_error(amod_t id, const char *msg);
168
178 const char *adaptyst_get_log_dir(amod_t id);
179
190 bool adaptyst_send_data(amod_t id, char *buf, unsigned int n);
191
204 bool adaptyst_receive_data(amod_t id, char *buf, unsigned int buf_size, int *n);
205
221 bool adaptyst_receive_data_timeout(amod_t id, char *buf, unsigned int buf_size,
222 int *n, long timeout_seconds);
223
236 bool adaptyst_send_string(amod_t id, const char *str);
237
254 bool adaptyst_receive_string(amod_t id, const char **str);
255
275 bool adaptyst_receive_string_timeout(amod_t id, const char **str,
276 long timeout_seconds);
277
286 const char *adaptyst_get_node_name(amod_t id);
287
297 bool adaptyst_log(amod_t id, const char *msg, const char *type);
298
313 bool adaptyst_print(amod_t id, const char *msg, bool sub, bool error,
314 const char *type);
315
325 const char *adaptyst_get_module_dir(amod_t id);
326
338
355
363
372
382
393 bool adaptyst_process_src_paths(amod_t id, const char **paths, int n);
394
411 const char *adaptyst_get_cpu_mask(amod_t id);
412
421 const char *adaptyst_get_tmp_dir(amod_t id);
422
433
446 bool adaptyst_set_will_profile(amod_t id, bool will_profile);
447
459 bool adaptyst_has_in_tag(amod_t id, const char *tag);
460
471 bool adaptyst_has_out_tag(amod_t id, const char *tag);
472
482
491
501 unsigned long long adaptyst_get_timestamp(amod_t id);
502
520 unsigned long long adaptyst_get_workflow_start_time(amod_t id);
521
536 unsigned long long adaptyst_get_workflow_end_time(amod_t id);
537
558
559#ifdef ADAPTYST_MODULE_ENTRYPOINT
560 bool adaptyst_module_init(amod_t module_id);
561 bool adaptyst_module_process(amod_t module_id, const char *sdfg);
562 void adaptyst_module_close(amod_t module_id);
563
564 bool adaptyst_region_start(amod_t module_id, const char *name,
565 const char *part_id, const char *timestamp_str);
566 bool adaptyst_region_end(amod_t module_id, const char *name,
567 const char *part_id, const char *timestamp_str);
568#endif
569#ifdef __cplusplus
570}
571#endif
572
573#endif
unsigned int amod_t
Definition amod_t.h:7
option_type
Definition hw.h:80
@ UNSIGNED_INT
Definition hw.h:86
@ NONE
Definition hw.h:90
@ BOOL
Definition hw.h:88
@ STRING
Definition hw.h:84
@ INT
Definition hw.h:82
bool adaptyst_print(amod_t id, const char *msg, bool sub, bool error, const char *type)
Definition system.cpp:293
const char * adaptyst_get_tmp_dir(amod_t id)
Definition system.cpp:439
bool adaptyst_is_workflow_running(amod_t id)
Definition system.cpp:603
bool adaptyst_log(amod_t id, const char *msg, const char *type)
Definition system.cpp:270
bool adaptyst_is_directing_node(amod_t id)
Definition system.cpp:363
bool adaptyst_process_src_paths(amod_t id, const char **paths, int n)
Definition system.cpp:405
bool adaptyst_send_data(amod_t id, char *buf, unsigned int n)
Definition inject.cpp:608
const char * adaptyst_get_library_dir(amod_t id)
Definition system.cpp:74
bool adaptyst_receive_data(amod_t id, char *buf, unsigned int buf_size, int *n)
Definition inject.cpp:614
bool adaptyst_receive_data_timeout(amod_t id, char *buf, unsigned int buf_size, int *n, long timeout_seconds)
Definition inject.cpp:621
unsigned long long adaptyst_get_workflow_start_time(amod_t id)
Definition system.cpp:552
bool adaptyst_has_in_tag(amod_t id, const char *tag)
Definition system.cpp:485
int adaptyst_get_internal_error_code(amod_t id)
Definition system.cpp:525
option * adaptyst_get_option(amod_t id, const char *key)
Definition system.cpp:84
int adaptyst_profile_wait(amod_t id)
Definition system.cpp:390
const char * adaptyst_get_internal_error_msg(amod_t id)
Definition system.cpp:515
bool adaptyst_set_will_profile(amod_t id, bool will_profile)
Definition system.cpp:469
const char * adaptyst_get_cpu_mask(amod_t id)
Definition system.cpp:419
profile_type
Definition hw.h:115
@ LINUX_PROCESS
Definition hw.h:117
bool adaptyst_send_string(amod_t id, const char *str)
Definition inject.cpp:629
const char * adaptyst_get_log_dir(amod_t id)
Definition system.cpp:112
const char * adaptyst_get_node_name(amod_t id)
Definition system.cpp:260
bool adaptyst_set_error(amod_t id, const char *msg)
Definition system.cpp:101
bool adaptyst_profile_notify(amod_t id)
Definition system.cpp:373
bool adaptyst_set_profile_info(amod_t id, profile_info *info)
Definition system.cpp:347
profile_info * adaptyst_get_profile_info(amod_t id)
Definition system.cpp:332
unsigned long long adaptyst_get_timestamp(amod_t id)
Definition system.cpp:535
const char * adaptyst_get_module_dir(amod_t id)
Definition system.cpp:317
bool adaptyst_receive_string_timeout(amod_t id, const char **str, long timeout_seconds)
Definition inject.cpp:641
unsigned long long adaptyst_get_workflow_end_time(amod_t id)
Definition system.cpp:575
const char * adaptyst_get_local_config_dir(amod_t id)
Definition system.cpp:454
bool adaptyst_has_out_tag(amod_t id, const char *tag)
Definition system.cpp:500
bool adaptyst_receive_string(amod_t id, const char **str)
Definition inject.cpp:635
int adaptyst_region_end(const char *name)
Definition inject.cpp:705
int adaptyst_region_start(const char *name)
Definition inject.cpp:699
Definition hw.h:96
void * data
Definition hw.h:104
option_type type
Definition hw.h:98
unsigned int len
Definition hw.h:109
Definition hw.h:123
profile_type type
Definition hw.h:125
int pid
Definition hw.h:132