source: trunk/third/openssh/session.h @ 22574

Revision 22574, 2.5 KB checked in by ghudson, 17 years ago (diff)
Merge with OpenSSH 4.2p1. Merge work was done in the svn repository in /afs/dev.mit.edu/project/openssh, and was based on patches from Simon Wilkinson and the krb5 team to add GSSAPI key exchange support and compatibility with OpenSSH 3.5.
Line 
1/*      $OpenBSD: session.h,v 1.25 2005/07/17 06:49:04 djm Exp $        */
2
3/*
4 * Copyright (c) 2000, 2001 Markus Friedl.  All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 *    notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 *    notice, this list of conditions and the following disclaimer in the
13 *    documentation and/or other materials provided with the distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */
26#ifndef SESSION_H
27#define SESSION_H
28
29#define TTYSZ 64
30typedef struct Session Session;
31struct Session {
32        int     used;
33        int     self;
34        struct passwd *pw;
35        Authctxt *authctxt;
36        pid_t   pid;
37        /* tty */
38        char    *term;
39        int     ptyfd, ttyfd, ptymaster;
40        u_int   row, col, xpixel, ypixel;
41        char    tty[TTYSZ];
42        /* X11 */
43        u_int   display_number;
44        char    *display;
45        u_int   screen;
46        char    *auth_display;
47        char    *auth_proto;
48        char    *auth_data;
49        int     single_connection;
50        /* proto 2 */
51        int     chanid;
52        int     *x11_chanids;
53        int     is_subsystem;
54        u_int   num_env;
55        struct {
56                char    *name;
57                char    *val;
58        }       *env;
59};
60
61void     do_authenticated(Authctxt *);
62void     do_cleanup(Authctxt *);
63
64int      session_open(Authctxt *, int);
65int      session_input_channel_req(Channel *, const char *);
66void     session_close_by_pid(pid_t, int);
67void     session_close_by_channel(int, void *);
68void     session_destroy_all(void (*)(Session *));
69void     session_pty_cleanup2(Session *);
70
71Session *session_new(void);
72Session *session_by_tty(char *);
73void     session_close(Session *);
74void     do_setusercontext(struct passwd *);
75void     child_set_env(char ***envp, u_int *envsizep, const char *name,
76                       const char *value);
77
78#endif
Note: See TracBrowser for help on using the repository browser.