1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00
putty-source/ldisc.h
Simon Tatham eefebaaa9e Turn Backend into a sensible classoid.
Nearly every part of the code that ever handles a full backend
structure has historically done it using a pair of pointer variables,
one pointing at a constant struct full of function pointers, and the
other pointing to a 'void *' state object that's passed to each of
those.

While I'm modernising the rest of the code, this seems like a good
time to turn that into the same more or less type-safe and less
cumbersome system as I'm using for other parts of the code, such as
Socket, Plug, BinaryPacketProtocol and so forth: the Backend structure
contains a vtable pointer, and a system of macro wrappers handles
dispatching through that vtable.
2018-09-19 22:10:58 +01:00

26 lines
576 B
C

/*
* ldisc.h: defines the Ldisc data structure used by ldisc.c and
* ldiscucs.c. (Unfortunately it was necessary to split the ldisc
* module in two, to avoid unnecessarily linking in the Unicode
* stuff in tools that don't require it.)
*/
#ifndef PUTTY_LDISC_H
#define PUTTY_LDISC_H
struct Ldisc_tag {
Terminal *term;
Backend *backend;
void *frontend;
/*
* Values cached out of conf.
*/
int telnet_keyboard, telnet_newline, protocol, localecho, localedit;
char *buf;
int buflen, bufsiz, quotenext;
};
#endif /* PUTTY_LDISC_H */