====== DOOR32.SYS ======

''DOOR32.SYS'' drop file format, designed by James Coyle (g00r00) of [[wp>Mystic BBS]] and published as the "Door32 Revision 1" specification (''D32SPEC1.ZIP'') on June 28th, 2000.

Unlike the DOS-era drop files, ''DOOR32.SYS'' is aimed at 32-bit doors: it carries a comm or socket handle for the door to **inherit**, so a single door executable can serve both serial and telnet callers, on more than one platform. Synchronet has supported it since v3.0, alongside Mystic and EleBBS.

The ''DOOR32.SYS'' is a plain text file consisting of CRLF-delimited lines, parsed one line at a time.

^Line ^Example                          ^Description ^
^ 1   |0                                |Comm type (0=local, 1=serial, 2=telnet) |
^ 2   |0                                |Comm or socket handle |
^ 3   |38400                            |Baud rate |
^ 4   |Mystic 1.07                      |BBSID (software name and version) |
^ 5   |1                                |User record position (1-based) |
^ 6   |James Coyle                      |User's real name |
^ 7   |g00r00                           |User's handle/alias |
^ 8   |255                              |User's security level |
^ 9   |58                               |User's time left (in minutes) |
^ 10  |1                                |Emulation((''0''=Ascii, ''1''=Ansi, ''2''=Avatar, ''3''=RIP, ''4''=Max Graphics. Avatar, RIP and Max Graphics all fall back to ANSI, so a door library that doesn't support them can treat 2, 3 and 4 as ANSI.)) |
^ 11  |1                                |Current node number |

===== Synchronet Notes =====

  * Selecting this drop file type in SCFG (//BBS Drop File Type//) automatically marks the external program as native, which is the whole point of the format — a Door32 door is a 32-bit program, not a DOS program under an emulator.
  * Line 1 is ''0'' (local) for programs run in stdio or conio mode and ''2'' (telnet) for everything else. Synchronet never reports ''1'' (serial).
  * Line 2 is a duplicate of the client's socket, for the door to inherit. It is ''-1'' rather than ''0'' when line 1 is ''0''.
  * Line 3 always reports 38400 bps, for local and remote callers alike — there is no modem.
  * Line 4 is the full version notice, for example ''Synchronet BBS for Win32  Version 3.22a''.
  * Line 7 is the user's alias, unless the program's //Use Real Names// setting is enabled, in which case it repeats line 6.
  * Only ''0'' or ''1'' is written for the emulation line; Avatar, RIP and Max Graphics are never reported, even to a caller whose terminal supports them.
  * The file is named ''DOOR32.SYS'' unless the program's //Lowercase Filename// setting is enabled. Enable it on case-sensitive file systems, where doors expect ''door32.sys''.

===== See Also =====
  * [[:ref:|ref index]]
  * [[ref:files#drop_files]]
  * [[https://jackphla.sh/a-look-back-at-darkness/]]

{{tag>}}
