net: socket system, high level api
[quarnos.git] / resources / net / transport_layer.h
blobc0b8e7e7a116ea886a70eaefb85e02eec56a2fa2
1 #ifndef _TRANSPORT_LAYER_H_
2 #define _TRANSPORT_LAYER_H_
4 #include "internet_layer.h"
6 #include "client_socket.h"
7 #include "server_socket.h"
9 namespace net {
10 class transport_layer : public osi_layer {
11 protected:
12 p<internet_layer> down;
14 public:
15 virtual void set_internet_layer(p<internet_layer> x) {
16 down = x;
19 virtual int acquire_port() = 0;
20 virtual void release_port(int) = 0;
22 virtual p<client_socket> create_client() = 0;
23 virtual p<server_socket> create_server(int port) = 0;
27 #endif