summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorroot <[email protected]>2024-09-03 07:01:58 +0000
committerroot <[email protected]>2024-09-03 07:01:58 +0000
commit6f1ac6b36b28d082cebf8e4c3eeedd592c1946f9 (patch)
tree5c664bc282e5c01b634430531e43dae44dc50538 /include
parenta8206cffc0ba55c6cb2b0b1054860ee28ec4a0b8 (diff)
add socks_decoder, stratum_decoder and session_flags
Diffstat (limited to 'include')
-rw-r--r--include/stellar/session_flags.h55
-rw-r--r--include/stellar/socks_decoder.h44
-rw-r--r--include/stellar/stratum_decoder.h18
3 files changed, 117 insertions, 0 deletions
diff --git a/include/stellar/session_flags.h b/include/stellar/session_flags.h
new file mode 100644
index 0000000..2aeace8
--- /dev/null
+++ b/include/stellar/session_flags.h
@@ -0,0 +1,55 @@
+#pragma once
+
+#include <stddef.h>
+#include <stdint.h>
+
+#define MESSAGE_MAGIC 0x12345678
+
+#define SESSION_FLAGS_MESSAGE_TOPIC "TOPIC_SESSION_FLAGS"
+
+enum
+{
+ session_flags_bulky_mask = 1,
+ session_flags_cbr_mask,
+ session_flags_local_client_mask,
+ session_flags_local_server_mask,
+ session_flags_download_mask,
+ session_flags_interactive_mask,
+ session_flags_inbound_mask,
+ session_flags_outbound_mask,
+ session_flags_pseudo_unidirectional_mask,
+ session_flags_streaming_mask,
+ session_flags_unidirectional_mask,
+ session_flags_random_looking_mask,
+ session_flags_c2s_mask,
+ session_flags_s2c_mask,
+ session_flags_bidirectional_mask,
+ session_flags_tunneling_mask,
+ session_flags_all_mask
+};
+
+#define SESSION_FLAGS_START (0x0000000000000001)
+#define SESSION_FLAGS_BULKY (SESSION_FLAGS_START << session_flags_bulky_mask)
+#define SESSION_FLAGS_CBR (SESSION_FLAGS_START << session_flags_cbr_mask)
+#define SESSION_FLAGS_LOCAL_CLIENT (SESSION_FLAGS_START << session_flags_local_client_mask)
+#define SESSION_FLAGS_LOCAL_SERVER (SESSION_FLAGS_START << session_flags_local_server_mask)
+#define SESSION_FLAGS_DOWNLOAD (SESSION_FLAGS_START << session_flags_download_mask)
+#define SESSION_FLAGS_INTERACTIVE (SESSION_FLAGS_START << session_flags_interactive_mask)
+#define SESSION_FLAGS_INBOUND (SESSION_FLAGS_START << session_flags_inbound_mask)
+#define SESSION_FLAGS_OUTBOUND (SESSION_FLAGS_START << session_flags_outbound_mask)
+#define SESSION_FLAGS_PSEUDO_UNIDIRECTIONAL (SESSION_FLAGS_START << session_flags_pseudo_unidirectional_mask)
+#define SESSION_FLAGS_STREAMING (SESSION_FLAGS_START << session_flags_streaming_mask)
+#define SESSION_FLAGS_UNIDIRECTIONAL (SESSION_FLAGS_START << session_flags_unidirectional_mask)
+#define SESSION_FLAGS_RANDOM_LOOKING (SESSION_FLAGS_START << session_flags_random_looking_mask)
+#define SESSION_FLAGS_C2S (SESSION_FLAGS_START << session_flags_c2s_mask)
+#define SESSION_FLAGS_S2C (SESSION_FLAGS_START << session_flags_s2c_mask)
+#define SESSION_FLAGS_BIDIRECTIONAL (SESSION_FLAGS_START << session_flags_bidirectional_mask)
+#define SESSION_FLAGS_TUNNELING (SESSION_FLAGS_START << session_flags_tunneling_mask)
+
+struct session_flags_message
+{
+ int magic;
+ uint64_t flags;
+ uint32_t array_num;
+ uint32_t *packet_sequence_array;
+}; \ No newline at end of file
diff --git a/include/stellar/socks_decoder.h b/include/stellar/socks_decoder.h
new file mode 100644
index 0000000..c3034b8
--- /dev/null
+++ b/include/stellar/socks_decoder.h
@@ -0,0 +1,44 @@
+#include <sys/uio.h>
+
+#include <netinet/in.h>
+#ifndef IPV6_ADDR_LEN
+#define IPV6_ADDR_LEN (sizeof(struct in6_addr))
+#endif
+
+
+#define SOCKS_MESSAGE_TOPIC "TOPIC_SOCKS"
+
+
+enum socks_addr_type
+{
+ SOCKS_ADDR_IPV4,
+ SOCKS_ADDR_IPV6,
+ SOCKS_ADDR_FQDN
+};
+
+struct socks_addr
+{
+ enum socks_addr_type type;
+ union
+ {
+ uint32_t ipv4; /* network order */
+ uint8_t ipv6[IPV6_ADDR_LEN] ;
+ struct iovec fqdn;
+ };
+ uint16_t port; /* network order */
+};
+
+enum socks_version
+{
+ SOCKS_VERSION_4,
+ SOCKS_VERSION_5
+};
+
+struct socks_info
+{
+ enum socks_version version;
+ struct socks_addr dst_addr;
+ struct iovec user_name;
+ struct iovec password;
+};//message data
+ \ No newline at end of file
diff --git a/include/stellar/stratum_decoder.h b/include/stellar/stratum_decoder.h
new file mode 100644
index 0000000..a6eed42
--- /dev/null
+++ b/include/stellar/stratum_decoder.h
@@ -0,0 +1,18 @@
+#include <sys/uio.h>
+
+#define STRATUM_MESSAGE_TOPIC "TOPIC_STRATUM"
+
+enum cryptocurrency_type
+{
+ ETH=1,
+ OTHER=2
+};
+
+struct stratum_field
+{
+ enum cryptocurrency_type type;
+ struct iovec mining_pools;
+ struct iovec mining_program;
+ struct iovec mining_subscribe;
+
+};//message data \ No newline at end of file