Line 35... |
Line 35... |
const struct channel_ops * ops;
|
const struct channel_ops * ops;
|
struct channel_factory * next;
|
struct channel_factory * next;
|
};
|
};
|
|
|
extern struct channel_ops fd_channel_ops, file_channel_ops,
|
extern struct channel_ops fd_channel_ops, file_channel_ops,
|
xterm_channel_ops, tcp_channel_ops;
|
xterm_channel_ops, tcp_channel_ops, tty_channel_ops;
|
|
|
static struct channel_factory preloaded[] =
|
static struct channel_factory preloaded[] =
|
{
|
{
|
{ "fd", &fd_channel_ops, &preloaded[1] },
|
{ "fd", &fd_channel_ops, &preloaded[1] },
|
{ "file", &file_channel_ops, &preloaded[2] },
|
{ "file", &file_channel_ops, &preloaded[2] },
|
{ "xterm", &xterm_channel_ops, &preloaded[3] },
|
{ "xterm", &xterm_channel_ops, &preloaded[3] },
|
{ "tcp", &tcp_channel_ops, NULL }
|
{ "tcp", &tcp_channel_ops, &preloaded[4] },
|
|
{ "tty", &tty_channel_ops, NULL }
|
};
|
};
|
|
|
static struct channel_factory * head = &preloaded[0];
|
static struct channel_factory * head = &preloaded[0];
|
|
|
static struct channel_factory * find_channel_factory(const char * name);
|
static struct channel_factory * find_channel_factory(const char * name);
|