1/*
2 * Copyright (c) 2012, ETH Zurich.
3 * All rights reserved.
4 *
5 * This file is distributed under the terms in the attached LICENSE file.
6 * If you do not find this file, copies can be found by writing to:
7 * ETH Zurich D-INFK, CAB F.78, Universitaetstrasse 6, CH-8092 Zurich,
8 * Attn: Systems Group.
9 */
10
11interface terminal_session "Terminal Session Interface" {
12
13    /**
14     * \brief Associate a terminal with a session.
15     *
16     * \param session_id ID capability representing the session.
17     * \param in_iref    Interface reference to be used for incoming characters
18     *                   as seen by the terminal client.
19     * \param out_iref   Interface reference to be used for outgoing characters
20     *                   as seen by the terminal client.
21     * \param conf_iref  Interface reference to be used for configuration
22     *                   messages.
23     * \param err        SYS_ERR_OK if successful
24     *                   TERM_ERR_TERMINAL_IN_USE if terminal is already part
25     *                                            of another session
26     */
27    rpc session_associate_with_terminal(in cap session_id, out iref in_iref,
28                                        out iref out_iref, out iref conf_iref,
29                                        out errval err);
30};
31