summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/stellar/session_flags.h15
-rw-r--r--include/stellar/socks.h84
-rw-r--r--include/stellar/stratum.h31
3 files changed, 119 insertions, 11 deletions
diff --git a/include/stellar/session_flags.h b/include/stellar/session_flags.h
index 92811fa..d2231f3 100644
--- a/include/stellar/session_flags.h
+++ b/include/stellar/session_flags.h
@@ -2,7 +2,7 @@
#include "stellar/session.h"
-enum
+enum session_flags_mask
{
session_flags_bulky_mask = 1,
session_flags_cbr_mask,
@@ -54,4 +54,15 @@ struct session_flags_message
void session_flags_topic_free(void *msg, void *msg_free_arg);
int stellar_session_flags_create_topic(struct stellar_module_manager *mod_mgr);
-int stellar_session_flags_subscribe(struct stellar_module_manager *mod_mgr, on_msg_cb_func *cb, void *args); \ No newline at end of file
+int stellar_session_flags_subscribe(struct stellar_module_manager *mod_mgr, on_msg_cb_func *cb, void *args);
+
+
+
+
+
+#define SESSION_FLAGS_MODULE_NAME "SESSION_FLAGS"
+struct session_flags;
+struct session_flags *module_to_session_flags(struct stellar_module *mod);
+
+typedef void on_session_flags_callback(struct session *sess, enum session_flags_mask flags[], int packet_sequence_array[], size_t n_flags, void *args);
+int session_flags_subscribe(struct session_flags *sess_flags, on_session_flags_callback *cb, void *args); \ No newline at end of file
diff --git a/include/stellar/socks.h b/include/stellar/socks.h
index dc4ec08..e296803 100644
--- a/include/stellar/socks.h
+++ b/include/stellar/socks.h
@@ -44,3 +44,87 @@ struct socks_info
int stellar_socks_create_topic(struct stellar_module_manager *mod_mgr);
int stellar_socks_subscribe(struct stellar_module_manager *mod_mgr, on_msg_cb_func *cb, void *args);
+
+#include "stellar/session.h"
+#include "stellar/module_manager.h"
+#define SOCKS_MODULE_NAME "SOCKS"
+struct socks;
+struct socks *module_to_stratums(struct stellar_module *mod);
+
+
+struct socks_auth
+{
+ const char *user_name;
+ const char *password;
+};
+
+struct socks_connect
+{
+ const char *ip;
+ const char *domain;
+ uint16_t port;
+};
+
+enum socks_reslut
+{
+ SOCKS_AUTH_SUCCESS,
+ SOCKS_AUTH_FAILURE
+};
+typedef void on_socks_auth_request_callback(struct session *sess,
+ int version,
+ struct socks_auth *auth,
+ void *args);
+typedef void on_socks_connect_request_callback(struct session *sess,
+ int version,
+ struct socks_connect *conn_req,
+ void *args);
+typedef void on_socks_reply_callback(struct session *sess,
+ int version,
+ enum socks_reslut reslut,
+ struct socks_connect *conn_rep,
+ void *args);
+int socks_subscribe(struct socks *socks,
+ on_socks_auth_request_callback *req_cb,
+ on_socks_connect_request_callback *conn_req_cb,
+ on_socks_reply_callback *reply_cb,
+ void *args);
+
+enum socks_command
+{
+ SOCKS_CMD_CONNECT,
+ SOCKS_CMD_AUTH,
+};
+
+struct socks_info
+{
+ struct socks_auth *auth;
+ struct socks_connect *conn;
+};
+typedef void on_socks_request_callback(struct session *sess,
+ int version,
+ enum socks_command command,
+ struct socks_info *socks_req,
+ void *args);
+typedef void on_socks_reply_callback(struct session *sess,
+ int version,
+ enum socks_reslut reslut,
+ struct socks_info *socks_rep,
+ void *args);
+int socks_subscribe_v2(struct socks *socks,
+ on_socks_request_callback *req_cb,
+ on_socks_reply_callback *reply_cb,
+ void *args);
+
+struct socks_info
+{
+ const char *user_name;
+ const char *password;
+ const char *remote_address;
+ uint16_t port;
+};
+typedef void on_socks_callback(struct session *sess,
+ enum socks_version version,
+ void *args);
+int socks_subscribe_v3(struct socks *socks,
+ on_socks_callback *socks_cb,
+ void *args); \ No newline at end of file
diff --git a/include/stellar/stratum.h b/include/stellar/stratum.h
index 584a481..2d2a762 100644
--- a/include/stellar/stratum.h
+++ b/include/stellar/stratum.h
@@ -2,6 +2,16 @@
#include "stellar/module_manager.h"
+int stellar_stratum_create_topic(struct stellar_module_manager *mod_mgr);
+int stellar_stratum_subscribe(struct stellar_module_manager *mod_mgr, on_msg_cb_func *cb, void *args);
+
+
+#include "stellar/session.h"
+#include "stellar/module_manager.h"
+#define STRATUM_MODULE_NAME "STRATUM"
+struct stratum;
+struct stratum *module_to_stratums(struct stellar_module *mod);
+
enum cryptocurrency_type
{
ETH=1,
@@ -10,13 +20,16 @@ enum cryptocurrency_type
struct stratum_field
{
- enum cryptocurrency_type type;
- struct iovec mining_pools;
- struct iovec mining_program;
- struct iovec mining_subscribe;
- const struct session *session;
-
-};//message data
+ const char *field_name;
+ size_t field_name_len;
+ const char *field_value;
+ size_t field_value_len;
+};
-int stellar_stratum_create_topic(struct stellar_module_manager *mod_mgr);
-int stellar_stratum_subscribe(struct stellar_module_manager *mod_mgr, on_msg_cb_func *cb, void *args); \ No newline at end of file
+typedef void on_stratum_callback(struct session *sess,
+ enum cryptocurrency_type type,
+ struct stratum_field *mining_pools,
+ struct stratum_field *mining_program,
+ struct stratum_field *mining_subscribe,
+ void *args);
+int stratum_subscribe(struct stratum *stratum, on_stratum_callback *cb, void *args); \ No newline at end of file