Features/Changes which will break the API and so must go into v7 ---------------------------------------------------------------- - Do not pack the od_control structure in memory. This is plain silly. - Do not use the BOOL type in od_control or in any of the public functions. Using it causes problems with stuff that defines a BOOL as a different size. For example, xpdev uses int as a BOOL whereas OpenDoors uses a char. - Support telnet IAC escaping, add an item to the od_control struct to keep track of the current status of IAC escapes. - Fix up the local display for Win32. It's horribly slow currently. Possibly just dust of the DOS stuff and use ciolib? - Make output functions take an optional position and attribute to cut down on small send()s. - Audit for small send()s in general. - Possibly improve the output thread and make *nix multi-threaded for block buffering ala Synchronet. - Change to 24-line default. This means fixing the personalities, and the screen stuff. - Autodetect if passed handle is a socket (Like I did for MyCroft doors) - We need some non-socket way of dealing with I/O for Win32. Something that operates along the lines of stdio on *nix. When BBSs commonly start doing SSH, is the door supposed to do SSH also? A local socket would work, but it seems like the Wrong Thing. The main reason stdio is out is that there's no standard way of passing hangup info etc. - Check the timestamp on the dropfile... do not use an old one! Add and od_control variable to prevent this behaviour. - Add a bunch of status-line specific functions to allow new personalities: od_status_set_cursor() od_status_set_attrib() od_status_puttext() od_status_gettext() od_status_printf() od_status_disp_str() od_status_putch() od_status_addkey() od_status_delkey() - OD_DISP_EMU() has problems with ANSI music (of course)