Ignore:
Timestamp:
2025-01-09T11:29:38Z (5 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
a5c2960e
Parents:
bc3d695 (diff), 4e1221c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge 'upstream/master' into helenraid-para

File:
1 moved

Legend:

Unmodified
Added
Removed
  • uspace/lib/system/include/system_srv.h

    rbc3d695 r7bf29e5  
    11/*
    2  * Copyright (c) 2011 Martin Decky
     2 * Copyright (c) 2024 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 /** @addtogroup output
     29/** @addtogroup libsystem
    3030 * @{
    3131 */
     32/** @file System control protocol server stub
     33 */
    3234
    33 #ifndef OUTPUT_PROTO_VT100_H_
    34 #define OUTPUT_PROTO_VT100_H_
     35#ifndef _LIBSYSTEM_SYSTEM_SRV_H_
     36#define _LIBSYSTEM_SYSTEM_SRV_H_
    3537
    36 #include <io/charfield.h>
     38#include <async.h>
     39#include <errno.h>
    3740
    38 typedef void (*vt100_putuchar_t)(char32_t ch);
    39 typedef void (*vt100_control_puts_t)(const char *str);
    40 typedef void (*vt100_flush_t)(void);
     41typedef struct system_ops system_ops_t;
    4142
     43/** System server structure (per client session) */
    4244typedef struct {
    43         sysarg_t cols;
    44         sysarg_t rows;
     45        async_sess_t *client_sess;
     46        system_ops_t *ops;
     47        void *arg;
     48} system_srv_t;
    4549
    46         sysarg_t cur_col;
    47         sysarg_t cur_row;
    48         char_attrs_t cur_attrs;
     50struct system_ops {
     51        errno_t (*shutdown)(void *);
     52};
    4953
    50         vt100_putuchar_t putuchar;
    51         vt100_control_puts_t control_puts;
    52         vt100_flush_t flush;
    53 } vt100_state_t;
    54 
    55 extern vt100_state_t *vt100_state_create(sysarg_t, sysarg_t, vt100_putuchar_t,
    56     vt100_control_puts_t, vt100_flush_t);
    57 extern void vt100_state_destroy(vt100_state_t *);
    58 
    59 extern errno_t vt100_yield(vt100_state_t *);
    60 extern errno_t vt100_claim(vt100_state_t *);
    61 extern void vt100_get_dimensions(vt100_state_t *, sysarg_t *, sysarg_t *);
    62 
    63 extern void vt100_goto(vt100_state_t *, sysarg_t, sysarg_t);
    64 extern void vt100_set_attr(vt100_state_t *, char_attrs_t);
    65 extern void vt100_cursor_visibility(vt100_state_t *, bool);
    66 extern void vt100_putuchar(vt100_state_t *, char32_t);
    67 extern void vt100_flush(vt100_state_t *);
     54extern void system_conn(ipc_call_t *, system_srv_t *);
     55extern void system_srv_initialize(system_srv_t *);
     56extern void system_srv_shutdown_complete(system_srv_t *);
     57extern void system_srv_shutdown_failed(system_srv_t *);
    6858
    6959#endif
Note: See TracChangeset for help on using the changeset viewer.