1 // InsecureConnection.h 2 3 #ifndef NET_FS_INSECURE_CONNECTION_H 4 #define NET_FS_INSECURE_CONNECTION_H 5 6 #ifdef HAIKU_TARGET_PLATFORM_BEOS 7 # include <socket.h> 8 #else 9 # include <netinet/in.h> 10 # include <sys/socket.h> 11 #endif 12 13 #include "AbstractConnection.h" 14 15 // InsecureConnection 16 class InsecureConnection : public AbstractConnection { 17 public: 18 InsecureConnection(); 19 virtual ~InsecureConnection(); 20 21 status_t Init(int socket); // server side 22 virtual status_t Init(const char* parameters); // client side 23 24 status_t FinishInitialization(); 25 26 private: 27 status_t _OpenClientChannel(in_addr serverAddr, 28 uint16 port, Channel** channel); 29 30 status_t _SendErrorReply(Channel* channel, 31 status_t error); 32 }; 33 34 // InsecureConnectionDefs 35 namespace InsecureConnectionDefs { 36 37 // ConnectRequest 38 struct ConnectRequest { 39 int32 protocolVersion; 40 uint32 serverAddress; 41 int32 upStreamChannels; 42 int32 downStreamChannels; 43 }; 44 45 // ConnectReply 46 struct ConnectReply { 47 int32 error; 48 int32 upStreamChannels; 49 int32 downStreamChannels; 50 uint16 port; 51 }; 52 53 extern const int32 kProtocolVersion; 54 extern const bigtime_t kAcceptingTimeout; 55 56 // number of client up/down stream channels 57 extern const int32 kMinUpStreamChannels; 58 extern const int32 kMaxUpStreamChannels; 59 extern const int32 kDefaultUpStreamChannels; 60 extern const int32 kMinDownStreamChannels; 61 extern const int32 kMaxDownStreamChannels; 62 extern const int32 kDefaultDownStreamChannels; 63 64 } // namespace InsecureConnectionDefs 65 66 #endif // NET_FS_INSECURE_CONNECTION_H 67