From cc3f33db7a8d3c4ad373e646b199808e01bc5d9b Mon Sep 17 00:00:00 2001 From: sss Date: Tue, 17 Jan 2023 00:38:19 +0300 Subject: added webrdp public code --- src/core/task.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/core/task.h (limited to 'src/core/task.h') diff --git a/src/core/task.h b/src/core/task.h new file mode 100644 index 0000000..6677739 --- /dev/null +++ b/src/core/task.h @@ -0,0 +1,59 @@ +/* BSD-2-Clause license + * + * Copyright (c) 2018-2023 NST , sss . + * + */ + +#pragma once + +#include + +enum backend_setting_type_e +{ + setting_int, + setting_string +}; + +struct backend_setting_s +{ + union + { + backend_setting_int setting_int; + backend_setting_str setting_string; + }; + enum backend_setting_type_e type; + SLIST_ENTRY(backend_setting_s) entries; +}; + +struct ws_session_list_entry_s +{ + ws_session *session; + ws_session_settings settings; + SLIST_ENTRY(ws_session_list_entry_s) entries; +}; + +typedef struct task_info_s +{ + /* name of backend handling this task */ + char backend_name[64]; + + /* backend instance */ + wrdp_backend_module *backend; + + /* pointer to wrdp_thpool_task* used by some internals */ + void *wrdp_thpool_task; + + /* if true, all calls should return immediataely + * and do not touch any data */ + bool stopped; + + /* libev based session timer */ + ev_timer *ev_timer_watcher; + + /* task total run time, task idle time */ + int64_t run_time, idle_time; + + /* session related settings like timeouts */ + ws_session_settings settings; + +} task_info; -- cgit v1.2.3