socks.hpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MPL-2.0 */
2 
3 #ifndef __ZMQ_SOCKS_HPP_INCLUDED__
4 #define __ZMQ_SOCKS_HPP_INCLUDED__
5 
6 #include <string>
7 #include "fd.hpp"
8 #include "stdint.hpp"
9 
10 namespace zmq
11 {
13 {
14  socks_greeting_t (uint8_t method_);
15  socks_greeting_t (const uint8_t *methods_, uint8_t num_methods_);
16 
17  uint8_t methods[UINT8_MAX];
18  const size_t num_methods;
19 };
20 
22 {
23  public:
25  void encode (const socks_greeting_t &greeting_);
26  int output (fd_t fd_);
27  bool has_pending_data () const;
28  void reset ();
29 
30  private:
33  uint8_t _buf[2 + UINT8_MAX];
34 };
35 
37 {
38  socks_choice_t (uint8_t method_);
39 
40  uint8_t method;
41 };
42 
44 {
45  public:
47  int input (fd_t fd_);
48  bool message_ready () const;
50  void reset ();
51 
52  private:
53  unsigned char _buf[2];
54  size_t _bytes_read;
55 };
56 
57 
59 {
60  socks_basic_auth_request_t (const std::string &username_,
61  const std::string &password_);
62 
65 };
66 
68 {
69  public:
71  void encode (const socks_basic_auth_request_t &req_);
72  int output (fd_t fd_);
73  bool has_pending_data () const;
74  void reset ();
75 
76  private:
79  uint8_t _buf[1 + 1 + UINT8_MAX + 1 + UINT8_MAX];
80 };
81 
83 {
84  socks_auth_response_t (uint8_t response_code_);
85  uint8_t response_code;
86 };
87 
89 {
90  public:
92  int input (fd_t fd_);
93  bool message_ready () const;
95  void reset ();
96 
97  private:
98  int8_t _buf[2];
99  size_t _bytes_read;
100 };
101 
103 {
104  socks_request_t (uint8_t command_, std::string hostname_, uint16_t port_);
105 
106  const uint8_t command;
108  const uint16_t port;
109 };
110 
112 {
113  public:
115  void encode (const socks_request_t &req_);
116  int output (fd_t fd_);
117  bool has_pending_data () const;
118  void reset ();
119 
120  private:
123  uint8_t _buf[4 + UINT8_MAX + 1 + 2];
124 };
125 
127 {
128  socks_response_t (uint8_t response_code_,
129  const std::string &address_,
130  uint16_t port_);
131  uint8_t response_code;
133  uint16_t port;
134 };
135 
137 {
138  public:
140  int input (fd_t fd_);
141  bool message_ready () const;
143  void reset ();
144 
145  private:
146  int8_t _buf[4 + UINT8_MAX + 1 + 2];
147  size_t _bytes_read;
148 };
149 }
150 
151 #endif
zmq::socks_greeting_encoder_t::_bytes_encoded
size_t _bytes_encoded
Definition: socks.hpp:31
zmq::socks_response_decoder_t
Definition: socks.hpp:136
zmq::socks_basic_auth_request_encoder_t::output
int output(fd_t fd_)
Definition: socks.cpp:134
zmq::socks_auth_response_t::socks_auth_response_t
socks_auth_response_t(uint8_t response_code_)
Definition: socks.cpp:154
zmq::socks_auth_response_t::response_code
uint8_t response_code
Definition: socks.hpp:85
zmq::socks_auth_response_decoder_t::message_ready
bool message_ready() const
Definition: socks.cpp:176
zmq::socks_request_encoder_t::_bytes_encoded
size_t _bytes_encoded
Definition: socks.hpp:121
zmq::socks_basic_auth_request_encoder_t::encode
void encode(const socks_basic_auth_request_t &req_)
Definition: socks.cpp:118
zmq::socks_basic_auth_request_t::socks_basic_auth_request_t
socks_basic_auth_request_t(const std::string &username_, const std::string &password_)
Definition: socks.cpp:104
zmq::socks_request_encoder_t::output
int output(fd_t fd_)
Definition: socks.cpp:256
string
GLsizei const GLchar *const * string
Definition: glcorearb.h:3083
zmq::socks_request_encoder_t::reset
void reset()
Definition: socks.cpp:270
zmq::socks_request_encoder_t::encode
void encode(const socks_request_t &req_)
Definition: socks.cpp:206
zmq::socks_greeting_encoder_t::encode
void encode(const socks_greeting_t &greeting_)
Definition: socks.cpp:35
zmq::socks_request_t
Definition: socks.hpp:102
zmq::socks_auth_response_decoder_t::_buf
int8_t _buf[2]
Definition: socks.hpp:98
zmq::socks_choice_decoder_t::message_ready
bool message_ready() const
Definition: socks.cpp:87
zmq::fd_t
int fd_t
Definition: zmq.hpp:287
zmq::socks_response_t::port
uint16_t port
Definition: socks.hpp:133
zmq::socks_basic_auth_request_t::password
const std::string password
Definition: socks.hpp:64
zmq::socks_auth_response_decoder_t::input
int input(fd_t fd_)
Definition: socks.cpp:164
zmq::socks_auth_response_t
Definition: socks.hpp:82
zmq::socks_greeting_t::socks_greeting_t
socks_greeting_t(uint8_t method_)
Definition: socks.cpp:17
zmq
Definition: zmq.hpp:229
zmq::socks_greeting_encoder_t::output
int output(fd_t fd_)
Definition: socks.cpp:48
zmq::socks_response_decoder_t::message_ready
bool message_ready() const
Definition: socks.cpp:322
zmq::socks_choice_decoder_t::reset
void reset()
Definition: socks.cpp:98
zmq::socks_request_encoder_t::has_pending_data
bool has_pending_data() const
Definition: socks.cpp:265
zmq::socks_basic_auth_request_encoder_t::_bytes_written
size_t _bytes_written
Definition: socks.hpp:78
stdint.hpp
zmq::socks_choice_decoder_t::_buf
unsigned char _buf[2]
Definition: socks.hpp:53
zmq::socks_response_decoder_t::input
int input(fd_t fd_)
Definition: socks.cpp:286
zmq::socks_response_t::socks_response_t
socks_response_t(uint8_t response_code_, const std::string &address_, uint16_t port_)
Definition: socks.cpp:275
zmq::socks_choice_decoder_t::decode
socks_choice_t decode()
Definition: socks.cpp:92
zmq::socks_response_t::response_code
uint8_t response_code
Definition: socks.hpp:131
zmq::socks_choice_t::socks_choice_t
socks_choice_t(uint8_t method_)
Definition: socks.cpp:67
zmq::socks_basic_auth_request_encoder_t::reset
void reset()
Definition: socks.cpp:148
fd.hpp
zmq::socks_request_t::command
const uint8_t command
Definition: socks.hpp:106
zmq::socks_response_decoder_t::_bytes_read
size_t _bytes_read
Definition: socks.hpp:147
zmq::socks_response_decoder_t::reset
void reset()
Definition: socks.cpp:343
zmq::socks_basic_auth_request_encoder_t::has_pending_data
bool has_pending_data() const
Definition: socks.cpp:143
zmq::socks_greeting_encoder_t::has_pending_data
bool has_pending_data() const
Definition: socks.cpp:57
zmq::socks_request_encoder_t::_bytes_written
size_t _bytes_written
Definition: socks.hpp:122
zmq::socks_request_encoder_t::_buf
uint8_t _buf[4+UINT8_MAX+1+2]
Definition: socks.hpp:123
zmq::socks_greeting_t
Definition: socks.hpp:12
zmq::socks_request_t::port
const uint16_t port
Definition: socks.hpp:108
zmq::socks_basic_auth_request_encoder_t::_buf
uint8_t _buf[1+1+UINT8_MAX+1+UINT8_MAX]
Definition: socks.hpp:79
zmq::socks_basic_auth_request_t
Definition: socks.hpp:58
zmq::socks_auth_response_decoder_t::socks_auth_response_decoder_t
socks_auth_response_decoder_t()
Definition: socks.cpp:159
zmq::socks_greeting_encoder_t::socks_greeting_encoder_t
socks_greeting_encoder_t()
Definition: socks.cpp:30
zmq::socks_choice_t::method
uint8_t method
Definition: socks.hpp:40
zmq::socks_request_t::socks_request_t
socks_request_t(uint8_t command_, std::string hostname_, uint16_t port_)
Definition: socks.cpp:193
zmq::socks_request_t::hostname
const std::string hostname
Definition: socks.hpp:107
zmq::socks_basic_auth_request_encoder_t::_bytes_encoded
size_t _bytes_encoded
Definition: socks.hpp:77
zmq::socks_basic_auth_request_encoder_t::socks_basic_auth_request_encoder_t
socks_basic_auth_request_encoder_t()
Definition: socks.cpp:113
zmq::socks_greeting_t::num_methods
const size_t num_methods
Definition: socks.hpp:18
zmq::socks_request_encoder_t::socks_request_encoder_t
socks_request_encoder_t()
Definition: socks.cpp:201
zmq::socks_auth_response_decoder_t
Definition: socks.hpp:88
zmq::socks_request_encoder_t
Definition: socks.hpp:111
UINT8_MAX
#define UINT8_MAX
Definition: stdint.hpp:50
zmq::socks_greeting_encoder_t::reset
void reset()
Definition: socks.cpp:62
zmq::socks_greeting_encoder_t
Definition: socks.hpp:21
zmq::socks_choice_decoder_t::input
int input(fd_t fd_)
Definition: socks.cpp:75
zmq::socks_auth_response_decoder_t::_bytes_read
size_t _bytes_read
Definition: socks.hpp:99
zmq::socks_choice_decoder_t
Definition: socks.hpp:43
zmq::socks_response_decoder_t::decode
socks_response_t decode()
Definition: socks.cpp:337
zmq::socks_auth_response_decoder_t::decode
socks_auth_response_t decode()
Definition: socks.cpp:181
zmq::socks_response_decoder_t::socks_response_decoder_t
socks_response_decoder_t()
Definition: socks.cpp:282
zmq::socks_choice_decoder_t::socks_choice_decoder_t
socks_choice_decoder_t()
Definition: socks.cpp:71
zmq::socks_response_decoder_t::_buf
int8_t _buf[4+UINT8_MAX+1+2]
Definition: socks.hpp:146
zmq::socks_choice_decoder_t::_bytes_read
size_t _bytes_read
Definition: socks.hpp:54
zmq::socks_auth_response_decoder_t::reset
void reset()
Definition: socks.cpp:187
zmq::socks_basic_auth_request_encoder_t
Definition: socks.hpp:67
zmq::socks_basic_auth_request_t::username
const std::string username
Definition: socks.hpp:63
zmq::socks_choice_t
Definition: socks.hpp:36
zmq::socks_response_t
Definition: socks.hpp:126
zmq::socks_greeting_encoder_t::_bytes_written
size_t _bytes_written
Definition: socks.hpp:32
zmq::socks_response_t::address
std::string address
Definition: socks.hpp:132
zmq::socks_greeting_encoder_t::_buf
uint8_t _buf[2+UINT8_MAX]
Definition: socks.hpp:33
zmq::socks_greeting_t::methods
uint8_t methods[UINT8_MAX]
Definition: socks.hpp:17


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:58