Ignore:
File:
1 edited

Legend:

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

    r5f5d375 r5a6cc679  
    11/*
    2  * Copyright (c) 2024 Jiri Svoboda
    32 * Copyright (c) 2012 Vojtech Horky
    43 * All rights reserved.
     
    3736#define TELNET_USER_H_
    3837
     38#include <adt/prodcons.h>
    3939#include <fibril_synch.h>
    4040#include <inet/tcp.h>
    4141#include <inttypes.h>
    4242#include <io/con_srv.h>
     43#include "remcons.h"
    4344
    4445#define BUFFER_SIZE 32
    45 #define SEND_BUF_SIZE 512
    46 
    47 /** Telnet callbacks */
    48 typedef struct {
    49         void (*ws_update)(void *, unsigned, unsigned);
    50 } telnet_cb_t;
    5146
    5247/** Representation of a connected (human) user. */
    5348typedef struct {
    54         /** Synchronize send operations */
    55         fibril_mutex_t send_lock;
    56         /** Synchronize receive operations */
    57         fibril_mutex_t recv_lock;
    58         /** Callback functions */
    59         telnet_cb_t *cb;
    60         /** Argument to callback functions */
    61         void *arg;
     49        /** Mutex guarding the whole structure. */
     50        fibril_mutex_t guard;
    6251
    6352        /** Internal id, used for creating locfs entries. */
     
    7261        con_srvs_t srvs;
    7362
     63        /** Producer-consumer of kbd_event_t. */
     64        prodcons_t in_events;
    7465        link_t link;
    7566        char socket_buffer[BUFFER_SIZE];
    7667        size_t socket_buffer_len;
    7768        size_t socket_buffer_pos;
    78         char send_buf[SEND_BUF_SIZE];
    79         size_t send_buf_used;
    8069
    8170        /** Task id of the launched application. */
     
    9079        /** X position of the cursor. */
    9180        int cursor_x;
    92         /** Y position of the cursor. */
    93         int cursor_y;
    94         /** Total number of columns */
    95         unsigned cols;
    96         /** Total number of rows */
    97         unsigned rows;
    9881} telnet_user_t;
    9982
    100 extern telnet_user_t *telnet_user_create(tcp_conn_t *, telnet_cb_t *, void *);
     83extern telnet_user_t *telnet_user_create(tcp_conn_t *);
    10184extern void telnet_user_add(telnet_user_t *);
    10285extern void telnet_user_destroy(telnet_user_t *);
     
    10588extern void telnet_user_notify_client_disconnected(telnet_user_t *);
    10689extern errno_t telnet_user_get_next_keyboard_event(telnet_user_t *, kbd_event_t *);
    107 extern errno_t telnet_user_send_data(telnet_user_t *, const char *, size_t);
    108 extern errno_t telnet_user_send_raw(telnet_user_t *, const char *, size_t);
    109 extern errno_t telnet_user_flush(telnet_user_t *);
    110 extern errno_t telnet_user_recv(telnet_user_t *, void *, size_t, size_t *);
     90extern errno_t telnet_user_send_data(telnet_user_t *, uint8_t *, size_t);
    11191extern void telnet_user_update_cursor_x(telnet_user_t *, int);
    112 extern void telnet_user_resize(telnet_user_t *, unsigned, unsigned);
    11392
    11493/** Print informational message about connected user. */
Note: See TracChangeset for help on using the changeset viewer.