diff options
| author | root <[email protected]> | 2024-09-03 07:01:58 +0000 |
|---|---|---|
| committer | root <[email protected]> | 2024-09-03 07:01:58 +0000 |
| commit | 6f1ac6b36b28d082cebf8e4c3eeedd592c1946f9 (patch) | |
| tree | 5c664bc282e5c01b634430531e43dae44dc50538 /include | |
| parent | a8206cffc0ba55c6cb2b0b1054860ee28ec4a0b8 (diff) | |
add socks_decoder, stratum_decoder and session_flags
Diffstat (limited to 'include')
| -rw-r--r-- | include/stellar/session_flags.h | 55 | ||||
| -rw-r--r-- | include/stellar/socks_decoder.h | 44 | ||||
| -rw-r--r-- | include/stellar/stratum_decoder.h | 18 |
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 |
