Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/remcons/user.c

    r5d94b16c rfab2746  
    3838#include <str_error.h>
    3939#include <loc.h>
    40 #include <event.h>
    4140#include <io/keycode.h>
    4241#include <align.h>
     
    4544#include <fibril_synch.h>
    4645#include <task.h>
    47 #include <net/in.h>
    48 #include <net/inet.h>
    49 #include <net/socket.h>
     46#include <inet/tcp.h>
    5047#include <io/console.h>
    5148#include <inttypes.h>
     
    5956/** Create new telnet user.
    6057 *
    61  * @param socket Socket the user communicates through.
     58 * @param conn Incoming connection.
    6259 * @return New telnet user or NULL when out of memory.
    6360 */
    64 telnet_user_t *telnet_user_create(int socket)
     61telnet_user_t *telnet_user_create(tcp_conn_t *conn)
    6562{
    6663        static int telnet_user_id_counter = 0;
     
    7976        }
    8077
    81         user->socket = socket;
     78        user->conn = conn;
    8279        user->service_id = (service_id_t) -1;
    8380        prodcons_initialize(&user->in_events);
     
    128125
    129126        fibril_mutex_lock(&users_guard);
    130         list_foreach(users, link) {
    131                 telnet_user_t *tmp = list_get_instance(link, telnet_user_t, link);
     127        list_foreach(users, link, telnet_user_t, tmp) {
    132128                if (tmp->service_id == id) {
    133129                        user = tmp;
     
    195191        /* No more buffered data? */
    196192        if (user->socket_buffer_len <= user->socket_buffer_pos) {
    197                 int recv_length = recv(user->socket, user->socket_buffer, BUFFER_SIZE, 0);
    198                 if ((recv_length == 0) || (recv_length == ENOTCONN)) {
     193                int rc;
     194                size_t recv_length;
     195
     196                rc = tcp_conn_recv_wait(user->conn, user->socket_buffer,
     197                    BUFFER_SIZE, &recv_length);
     198                if (rc != EOK)
     199                        return rc;
     200
     201                if (recv_length == 0) {
    199202                        user->socket_closed = true;
    200203                        user->srvs.aborted = true;
    201204                        return ENOENT;
    202205                }
    203                 if (recv_length < 0) {
    204                         return recv_length;
    205                 }
     206
    206207                user->socket_buffer_len = recv_length;
    207208                user->socket_buffer_pos = 0;
     
    361362
    362363
    363         int rc = send(user->socket, converted, converted_size, 0);
     364        int rc = tcp_conn_send(user->conn, converted, converted_size);
    364365        free(converted);
    365366
Note: See TracChangeset for help on using the changeset viewer.