home *** CD-ROM | disk | FTP | other *** search
- /*
- ** Global.h
- **
- ** Global data structure definitions
- **
- ** Copyright © 1990-1996 by Olaf `Olsen' Barthel
- ** All Rights Reserved
- */
-
- #ifndef _GLOBAL_H
- #define _GLOBAL_H 1
-
- #ifndef _HEADERS_H
- #include "Headers.h"
- #endif /* _HEADERS_H */
-
- /* Special character codes. */
-
- #define XOF ('S' & 0x1F)
- #define XON ('Q' & 0x1F)
-
- #define BEL '\a'
- #define VTB '\v'
- #define TAB '\t'
- #define BKS '\b'
- #define ENT '\n'
- #define RET '\r'
- #define ESC '\033'
- #define DEL '\177'
- #define FFD '\f'
- #define CAN '\030'
- #define SUB '\032'
- #define ENQ '\005'
- #define SI '\016'
- #define SO '\017'
-
- /* Control keys we assign special codes to. */
-
- #define CUP 150
- #define CDN 151
- #define CFW 152
- #define CBK 153
-
- #define FN1 128
- #define FN2 129
- #define FN3 130
- #define FN4 131
- #define FN5 132
- #define FN6 133
- #define FN7 134
- #define FN8 135
- #define FN9 136
- #define F10 137
-
- #define HLP 149
-
- /* Control sequence introducer. */
-
- #define CSI 155
-
- /* Standard IFF chunk types. */
-
- #ifndef ID_8SVX
- #define ID_8SVX MAKE_ID('8','S','V','X') /* Eight bit sampled voice. */
- #endif /* ID_8SVX */
-
- #ifndef ID_VHDR
- #define ID_VHDR MAKE_ID('V','H','D','R') /* Voice header. */
- #endif /* ID_VHDR */
-
- #ifndef ID_BODY
- #define ID_BODY MAKE_ID('B','O','D','Y') /* Generic data body chunk. */
- #endif /* ID_BODY */
-
- #ifndef ID_ANNO
- #define ID_ANNO MAKE_ID('A','N','N','O') /* Annotation chunk. */
- #endif /* ID_ANNO */
-
- #define ID_CHAN MAKE_ID('C','H','A','N') /* Sound channel information. */
- #define ID_CHRS MAKE_ID('C','H','R','S') /* Character data. */
- #define ID_FTXT MAKE_ID('F','T','X','T') /* Formatted text. */
-
- /* "term" private chunk types. */
-
- #define ID_DATE MAKE_ID('D','A','T','E') /* Date and time information. */
- #define ID_DAT2 MAKE_ID('D','A','T','2') /* Date and time information, second try. */
-
- #ifndef ID_NAME
- #define ID_NAME MAKE_ID('N','A','M','E') /* Name header */
- #endif /* ID_NAME */
-
- #ifndef ID_PREF
- #define ID_PREF MAKE_ID('P','R','E','F') /* Preferences data chunk. */
- #endif /* ID_PREF */
-
- #define ID_DIAL MAKE_ID('D','I','A','L') /* Number of phonebook entries. */
- #define ID_FAST MAKE_ID('F','A','S','T') /* Fast! macro settings. */
- #define ID_TRAP MAKE_ID('T','R','A','P') /* Trap command. */
- #define ID_SEQN MAKE_ID('S','E','Q','N') /* Trap sequence. */
- #define ID_TRST MAKE_ID('T','R','S','T') /* Trap settings. */
- #define ID_HOTK MAKE_ID('H','O','T','K') /* Hotkey settings. */
- #define ID_KEYS MAKE_ID('K','E','Y','S') /* Function key settings. */
- #define ID_PHON MAKE_ID('P','H','O','N') /* Phonebook data. */
- #define ID_PSWD MAKE_ID('P','S','W','D') /* Password entry. */
- #define ID_RECV MAKE_ID('R','E','C','V') /* Translation table data (receiver side). */
- #define ID_SEND MAKE_ID('S','E','N','D') /* Translation table data (sender side). */
- #define ID_TRNS MAKE_ID('T','R','N','S') /* Translation table data (master table). */
- #define ID_SPEK MAKE_ID('S','P','E','K') /* Speech settings. */
- #define ID_TERM MAKE_ID('T','E','R','M') /* "term" data chunk. */
- #define ID_VERS MAKE_ID('V','E','R','S') /* Version identification. */
- #define ID_WIND MAKE_ID('W','I','N','D') /* Fast! macro window size and position. */
- #define ID_SOUN MAKE_ID('S','O','U','N') /* Sound settings. */
- #define ID_WINF MAKE_ID('W','I','N','F') /* Window position/size information. */
- #define ID_GRUP MAKE_ID('G','R','U','P') /* Grouping information. */
-
- /* "term" configuration and phonebook file chunk types. */
-
- #ifndef ID_SERL
- #define ID_SERL MAKE_ID('S','E','R','L') /* Serial settings. */
- #endif /* ID_SERL */
-
- #define ID_MODM MAKE_ID('M','O','D','M') /* Modem settings. */
- #define ID_COMD MAKE_ID('C','O','M','D') /* Command settings. */
- #define ID_SCRN MAKE_ID('S','C','R','N') /* Screen settings. */
- #define ID_TRML MAKE_ID('T','R','M','L') /* Terminal setting. */
- #define ID_PATH MAKE_ID('P','A','T','H') /* Path settings. */
- #define ID_MISC MAKE_ID('M','I','S','C') /* Misc settings. */
- #define ID_CLIP MAKE_ID('C','L','I','P') /* Clip settings. */
- #define ID_CPTR MAKE_ID('C','P','T','R') /* Capture settings. */
- #define ID_FILE MAKE_ID('F','I','L','E') /* File settings. */
- #define ID_EMLN MAKE_ID('E','M','L','N') /* Emulation settings. */
- #define ID_XFER MAKE_ID('X','F','E','R') /* Transfer settings. */
- #define ID_XLNM MAKE_ID('X','L','N','M') /* Translation file name. */
- #define ID_MFNM MAKE_ID('M','F','N','M') /* Macro file name. */
- #define ID_CRNM MAKE_ID('C','R','N','M') /* Cursor file name. */
- #define ID_FMNM MAKE_ID('F','M','N','M') /* Fast macro file name. */
- #define ID_SPNM MAKE_ID('S','P','N','M') /* Speech file name. */
- #define ID_SONM MAKE_ID('S','O','N','M') /* Sound file name. */
- #define ID_ACNM MAKE_ID('A','C','N','M') /* Area code file name. */
- #define ID_PBNM MAKE_ID('P','B','N','M') /* Phonebook file name. */
- #define ID_HKNM MAKE_ID('H','K','N','M') /* Hotkey file name. */
- #define ID_TRNM MAKE_ID('T','R','N','M') /* Trap file name. */
-
- /* This still appears to be missing. */
-
- #ifndef FORMAT_DEF
- #define FORMAT_DEF 4
- #endif /* FORMAT_DEF */
-
- /* Single precision boolean value. */
-
- typedef char BOOLEAN;
-
- /* Structure forward declarations for the GNU `C' compiler. */
-
- #ifdef __GNUC__
- struct MsgItem;
- struct GenericList;
- #endif /* __GNUC__ */
-
- /* The configuration file format version. This will from now
- * on hopefully stay the same.
- */
-
- #define CONFIG_FILE_VERSION 4
- #define CONFIG_FILE_REVISION 3
-
- /* The name of the global `term' message port. */
-
- #define TERMPORTNAME "term Port"
-
- /* IDCMP flags for the main window */
-
- #define DEFAULT_IDCMP (IDCMP_RAWKEY | IDCMP_INACTIVEWINDOW | IDCMP_ACTIVEWINDOW | IDCMP_MOUSEMOVE | IDCMP_GADGETUP | IDCMP_GADGETDOWN | IDCMP_MENUPICK | IDCMP_MOUSEMOVE | IDCMP_MOUSEBUTTONS | IDCMP_CLOSEWINDOW | IDCMP_NEWSIZE | IDCMP_IDCMPUPDATE | IDCMP_MENUHELP)
-
- /* The interval in which routine checks are executed (in seconds). */
-
- #define ROUTINE_CHECK_INTERVAL 2
-
- /* Jump table entry. */
-
- typedef BOOL (* JUMP)(LONG Char);
-
- /* Capture output routine. */
-
- typedef VOID (* COPTR)(APTR Data,LONG Size);
-
- /* ConTransfer callback routine. */
-
- typedef VOID (* CONTRANSFER)(STRPTR,LONG);
-
- /* Simple text transfer callback routine. */
-
- typedef BOOL (* SENDLINE)(STRPTR,LONG);
-
- /* PutChar routine for RawDoFmt(). */
-
- typedef VOID (* PUTCHAR)(UBYTE Char,APTR PutChData);
-
- /* Mode filter function callback. */
-
- typedef ULONG (* MODEFILTER)(ULONG,APTR);
-
- /* Stackcall routine type. */
-
- typedef LONG (* STACKARGS STACKCALL)(ULONG Arg1,...);
-
- /* The routine to do the comparison for QuickSort. */
-
- typedef int (* SORTFUNC)(const void * , const void *);
-
- /* CR/LF receiver translation */
-
- typedef LONG (* TRANSLATEFUNC)(STRPTR Data,LONG Size);
-
- /* Raster save callback routine. */
-
- typedef VOID (* SAVERASTER)(LONG First,LONG Last);
-
- /* Bypass for serial output. */
-
- typedef BOOL (* BYPASS)(STRPTR Buffer,LONG Size);
-
- /* Normal serial output. */
-
- typedef VOID (* SERWRITE)(STRPTR Buffer,LONG Size);
-
- /* This defines the destructor data type */
-
- typedef VOID (* DESTRUCTOR)(struct MsgItem *);
-
- /* The generic list notify function. */
-
- typedef VOID (* GENERICNOTIFY)(struct GenericList *List,WORD Login);
-
- /* A task or process entry function. */
-
- typedef VOID (* STACKARGS TASKENTRY)(LONG Arg,...);
-
- /* Menu item codes. */
-
- enum { MEN_SAVE_AS_PICTURE=1,MEN_SAVE_AS_TEXT,MEN_PRINT_SCREEN,MEN_PRINT_CLIP,MEN_CAPTURE_TO_FILE,
- MEN_CAPTURE_TO_PRINTER,MEN_ICONIFY,MEN_ABOUT,MEN_QUIT,
-
- MEN_COPY,MEN_PASTE,MEN_CLEAR,
-
- MEN_EXECUTE_DOS_COMMAND,MEN_EXECUTE_REXX_COMMAND,MEN_RECORD,MEN_RECORD_LINE,
- MEN_EDIT_TRAPS,MEN_DISABLE_TRAPS,
-
- MEN_PHONEBOOK,MEN_REDIAL,MEN_DIAL_NUMBER,MEN_SEND_BREAK,
- MEN_HANG_UP,MEN_WAIT,MEN_FLUSH_BUFFER,MEN_RELEASE_DEVICE,
-
- MEN_UPLOAD_ASCII,MEN_DOWNLOAD_ASCII,MEN_UPLOAD_TEXT,MEN_DOWNLOAD_TEXT,MEN_EDIT_AND_UPLOAD_TEXT,
- MEN_UPLOAD_BINARY,MEN_DOWNLOAD_BINARY,
-
- MEN_CLEAR_BUFFER,MEN_DISPLAY_BUFFER,MEN_CLOSE_BUFFER,MEN_FREEZE_BUFFER,MEN_OPEN_BUFFER,
- MEN_SAVE_BUFFER_AS,
-
- MEN_CLEAR_SCREEN,MEN_RESET_FONT,MEN_RESET_STYLES,MEN_RESET_TERMINAL,
-
- MEN_SERIAL,MEN_MODEM,MEN_SCREEN,MEN_TERMINAL,MEN_SET_EMULATION,MEN_CLIPBOARD,MEN_CAPTURE,MEN_COMMANDS,
- MEN_MISC,MEN_PATH,MEN_TRANSFER_PROTOCOL,MEN_TRANSFER,MEN_TRANSLATION,MEN_MACROS,
- MEN_CURSORKEYS,MEN_FAST_MACROS,MEN_HOTKEYS,MEN_SPEECH,MEN_SOUND,MEN_RATES,MEN_SET_CONSOLE,MEN_OPEN_SETTINGS,MEN_SAVE_SETTINGS,
- MEN_SAVE_SETTINGS_AS,
-
- MEN_STATUS_WINDOW,MEN_REVIEW_WINDOW,MEN_PACKET_WINDOW,MEN_CHAT_LINE,MEN_FAST_MACROS_WINDOW,
- MEN_UPLOAD_QUEUE_WINDOW,
-
- /* Avoid recompilation */
-
- MEN_PRINT_SCREEN_AS_GFX,
- MEN_EXTRA_DIAL,
- MEN_MATRIX_WINDOW,
- MEN_CAPTURE_TO_RAW_FILE,
- MEN_SELECT_ALL
- };
-
- /* Menu item code limit, required by the quick dial menu. */
-
- #define DIAL_MENU_LIMIT 1000
-
- /* How many phone book entries will be stored in
- * the quick dial menu.
- */
-
- #define DIAL_MENU_MAX 50
-
- /* The size of the attention scanner buffers. */
-
- #define ATTENTION_BUFFER_SIZE 260
-
- /* The maximum length of a password. */
-
- #define MAX_PASSWORD_LENGTH 20
-
- /* Undefine the following symbols, the preferences header file
- * will use the same names and the same values.
- */
-
- #undef PARITY_NONE
- #undef PARITY_EVEN
- #undef PARITY_ODD
- #undef PARITY_MARK
- #undef PARITY_SPACE
-
- /* Serial settings. */
-
- enum { PARITY_NONE,PARITY_EVEN,PARITY_ODD,PARITY_MARK,PARITY_SPACE };
-
- enum { HANDSHAKING_NONE,HANDSHAKING_RTSCTS,HANDSHAKING_RTSCTS_DSR };
- enum { DUPLEX_FULL,DUPLEX_HALF };
- enum { FLOW_NONE,FLOW_XON_XOFF };
-
- /* Terminal settings. */
-
- enum { EOL_IGNORE,EOL_CR,EOL_LF,EOL_CRLF,EOL_LFCR };
- enum { EMULATION_ANSIVT100,EMULATION_ATOMIC,EMULATION_TTY,EMULATION_EXTERNAL,EMULATION_HEX };
- enum { COLOUR_AMIGA,COLOUR_EIGHT,COLOUR_SIXTEEN,COLOUR_MONO };
-
- /* Protocol types. */
-
- enum { PROTOCOL_XMODEM,PROTOCOL_XMODEMCRC,PROTOCOL_YMODEM,PROTOCOL_ZMODEM };
-
- /* Font types. */
-
- enum { FONT_STANDARD,FONT_IBM,FONT_IBM_RAW };
-
- /* Bell modes. */
-
- enum { BELL_NONE, BELL_VISIBLE, BELL_AUDIBLE, BELL_BOTH, BELL_SYSTEM };
-
- /* Data flow scanner indices. */
-
- enum { SCAN_NOCARRIER, SCAN_CONNECT, SCAN_VOICE, SCAN_RING, SCAN_BUSY, SCAN_NODIALTONE,
- SCAN_OK, SCAN_ERROR, SCAN_SIGDEFAULTUPLOAD, SIG_DEFAULTUPLOAD,
- SCAN_SIGASCIIUPLOAD,SCAN_SIGASCIIDOWNLOAD, SCAN_SIGTEXTUPLOAD,
- SCAN_SIGTEXTDOWNLOAD, SCAN_SIGBINARYUPLOAD,
- SCAN_SIGBINARYDOWNLOAD, SCAN_COUNT
- };
-
- /* Status types. */
-
- enum { STATUS_READY,STATUS_HOLDING,STATUS_DIALING,STATUS_UPLOAD,
- STATUS_DOWNLOAD,STATUS_BREAKING,STATUS_HANGUP,
- STATUS_RECORDING,STATUS_RECORDING_LINE,STATUS_AREXX
- };
-
- /* Sound types. */
-
- enum { SOUND_BELL,SOUND_CONNECT,SOUND_DISCONNECT,SOUND_GOODTRANSFER,
- SOUND_BADTRANSFER,SOUND_RING,SOUND_VOICE,SOUND_ERROR,
- SOUND_COUNT
- };
-
- /* Settings types. */
-
- enum { PREF_ALL,PREF_SERIAL,PREF_MODEM,PREF_COMMAND,PREF_SCREEN,
- PREF_TERMINAL,PREF_PATH,PREF_MISC,PREF_CLIP,PREF_CAPTURE,
- PREF_FILE,PREF_EMULATION,PREF_TRANSFER,PREF_TRANSLATIONFILENAME,
- PREF_MACROFILENAME,PREF_CURSORFILENAME,PREF_FASTMACROFILENAME,
- PREF_SPEECHFILENAME,PREF_SOUNDFILENAME,PREF_AREACODEFILENAME,
- PREF_PHONEBOOKFILENAME,PREF_HOTKEYFILENAME,PREF_TRAPFILENAME,
- PREF_RATES /* Note: PREF_RATES must always be last */
- };
-
- /* Gadgets attached to the main window. */
-
- enum { CHAT_GadgetID=400 };
-
- /* Status line modes. */
-
- enum { STATUSLINE_DISABLED,STATUSLINE_STANDARD,STATUSLINE_COMPRESSED };
-
- /* Capture filter modes. */
-
- enum { FILTER_NONE,FILTER_ESCAPE,FILTER_CONTROL,FILTER_BOTH };
-
- /* Scrolling modes. */
-
- enum { SCROLL_JUMP,SCROLL_SMOOTH };
-
- /* Auto-capture file creation. */
-
- enum { AUTOCAPTURE_DATE_NAME,AUTOCAPTURE_DATE_INCLUDE };
-
- /* Cursor and numeric keypad modes. */
-
- enum { KEYMODE_STANDARD,KEYMODE_APPLICATION };
-
- /* Font scales. */
-
- enum { SCALE_NORMAL,SCALE_HALF };
- enum { SCALE_ATTR_NORMAL,SCALE_ATTR_TOP2X,SCALE_ATTR_BOT2X,SCALE_ATTR_2X };
-
- /* Character tables. */
-
- enum { TABLE_ASCII,TABLE_GFX };
-
- /* Transfer types. */
-
- enum { TRANSFER_BINARY,TRANSFER_TEXT,TRANSFER_ASCII };
-
- /* Translation table entry types. */
-
- enum { TRANSLATE_SINGLE,TRANSLATE_STRING };
-
- /* Upload panel actions. */
-
- enum { UPLOAD_TEXT=1,UPLOAD_BINARY,UPLOAD_IGNORE,UPLOAD_ABORT,
- UPLOAD_TEXT_FROM_LIST,UPLOAD_BINARY_FROM_LIST,UPLOAD_DUMMY
- };
-
- /* Alert types. */
-
- enum { ALERT_NONE,ALERT_BEEP,ALERT_SCREEN,ALERT_BEEP_SCREEN };
-
- /* Online time display modes. */
-
- enum { ONLINETIME_TIME,ONLINETIME_COST,ONLINETIME_BOTH };
-
- /* What to print. */
-
- enum { PRINT_SCREEN,PRINT_CLIP };
-
- /* Dial command types. */
-
- enum { DIAL_IGNORE,DIAL_LIST,DIAL_REDIAL,DIAL_MENU };
-
- /* Errors returned by ReconfigureSerial(). */
-
- enum { RECONFIGURE_FAILURE,RECONFIGURE_NOCHANGE,RECONFIGURE_SUCCESS };
-
- /* Operation codes for SetItem(). */
-
- enum { SETITEM_SETCHECK,SETITEM_CLRCHECK,SETITEM_ON,SETITEM_OFF };
-
- /* File identification actions. */
-
- enum { IDENTIFY_IGNORE,IDENTIFY_FILETYPE,IDENTIFY_SOURCE };
-
- /* Generic list types. */
-
- enum { GLIST_UPLOAD,GLIST_DOWNLOAD,GLIST_DIAL,GLIST_WAIT,GLIST_TRAP,GLIST_COUNT };
-
- /* Generic list add operations. */
-
- enum { ADD_GLIST_BOTTOM,ADD_GLIST_TOP,ADD_GLIST_BEHIND,ADD_GLIST_BEFORE };
-
- /* Dialing modes. */
-
- enum { DIALMODE_PULSE, DIALMODE_TONE, DIALMODE_MODEM, DIALMODE_ISDN };
-
- /* Transfer window gadgets. */
-
- enum { GAD_TRANSFER_INFORMATION_LIST=1,
- GAD_TRANSFER_PERCENT,GAD_TRANSFER_TIME,
- GAD_TRANSFER_ABORT,GAD_TRANSFER_SKIP,
- GAD_TRANSFER_PROTOCOL,GAD_TRANSFER_FILE,
- GAD_TRANSFER_SIZE,GAD_TRANSFER_SECONDS,
- GAD_TRANSFER_TOTALTIME,GAD_TRANSFER_ERRORS,
- GAD_TRANSFER_ABORT_FILE
- };
-
- /* How to satisfy OwnDevUnit.library requests. */
-
- enum { ODU_RELEASE,ODU_WAIT,ODU_KEEP };
-
- /* When to notify the user during a file transfer. */
-
- enum { XFERNOTIFY_NEVER,XFERNOTIFY_ALWAYS,XFERNOTIFY_START,XFERNOTIFY_END };
-
- /* XPR options setting. */
-
- enum { GAD_XPROPTIONS_USE=42,GAD_XPROPTIONS_CANCEL };
-
- /* Terminal types */
-
- enum { TERMINAL_VT200,TERMINAL_VT102,TERMINAL_VT101,TERMINAL_VT100 };
-
- /* Call log file formats */
-
- enum { LOGFILEFORMAT_CallInfo,LOGFILEFORMAT_PhoneLog };
-
- /* AmigaGuide help context. */
-
- enum { CONTEXT_MAIN,CONTEXT_SERIAL,CONTEXT_MODEM,CONTEXT_SCREEN,
- CONTEXT_TERMINAL,CONTEXT_CLIP,CONTEXT_CAPTURE,CONTEXT_COMMAND,
- CONTEXT_MISC,CONTEXT_PATHS,CONTEXT_TRANSLATION,CONTEXT_MACROS,
- CONTEXT_CURSOR,CONTEXT_FASTMACROS,CONTEXT_HOTKEYS,CONTEXT_SPEECH,
- CONTEXT_EMULATION,CONTEXT_TRANSFER,CONTEXT_PHONEBOOK,CONTEXT_DATE,
- CONTEXT_DAY,CONTEXT_IMPORT,CONTEXT_RATES,CONTEXT_TIME,
- CONTEXT_COPY,CONTEXT_PASSWORDUSER,CONTEXT_DIAL,CONTEXT_PRINT,
- CONTEXT_TEXTBUFFER,CONTEXT_PACKETWINDOW,CONTEXT_SOUND,
- CONTEXT_LIBS,CONTEXT_ASCII,CONTEXT_PENS,CONTEXT_UPLOAD_QUEUE,
- CONTEXT_TRAPS,CONTEXT_AREA_CODES,CONTEXT_MAIN_MENU,
- CONTEXT_BUFFER_MENU,CONTEXT_PACKET_MENU,CONTEXT_PROJECT_MEN,
- CONTEXT_EDIT_MEN,CONTEXT_CMDS_MEN,CONTEXT_PHONE_MEN,
- CONTEXT_TRANSF_MEN,CONTEXT_BUFFER_MEN,CONTEXT_TERMINAL_MEN,
- CONTEXT_SETTINGS_MEN,CONTEXT_WINDOWS_MEN,CONTEXT_DIAL_MEN,
- CONTEXT_TEXTPEN_PANEL,CONTEXT_ASCII_TRANSFER_SETTINGS,
- CONTEXT_PARAMETERS,CONTEXT_SIGNATURE
-
- };
-
- /* Character types. */
-
- enum { CHAR_VANILLA,CHAR_CURSOR,CHAR_FUNCTION,CHAR_HELP,
- CHAR_XON,CHAR_XOFF,CHAR_ENTER,CHAR_RETURN };
-
- /* Review window positioning codes. */
-
- enum { REVIEW_MOVE_TOP,REVIEW_MOVE_BOTTOM,REVIEW_MOVE_UP,REVIEW_MOVE_DOWN };
-
- /* File type classes. */
-
- enum { FILETYPE_NONE,FILETYPE_DIR,FILETYPE_FILE,FILETYPE_TEXT,FILETYPE_SOUND,
- FILETYPE_PICTURE,FILETYPE_PREFS,FILETYPE_ARCHIVE,
- FILETYPE_PROGRAM,
-
- FILETYPE_COUNT };
-
- /* Text pacing modes. */
-
- enum { PACE_DIRECT,PACE_ECHO,PACE_ANYECHO,PACE_PROMPT,PACE_DELAY,PACE_KEYBOARD };
-
- /* Where to open the buffer text window. */
-
- enum { BUFFER_TOP,BUFFER_END };
-
- /* Where to place the buffer screen horizontally. */
-
- enum { SCREEN_LEFT,SCREEN_CENTRE,SCREEN_RIGHT };
-
- /* File transfer mode. */
-
- enum { XFER_XPR,XFER_EXTERNALPROGRAM,XFER_DEFAULT,XFER_INTERNAL };
-
- /* File transfer protocol signatures. */
-
- enum { TRANSFERSIG_DEFAULTUPLOAD,TRANSFERSIG_DEFAULTDOWNLOAD,
- TRANSFERSIG_ASCIIUPLOAD,TRANSFERSIG_ASCIIDOWNLOAD,
- TRANSFERSIG_TEXTUPLOAD,TRANSFERSIG_TEXTDOWNLOAD,
- TRANSFERSIG_BINARYUPLOAD,TRANSFERSIG_BINARYDOWNLOAD
- };
-
- /* Requester modes. */
-
- enum { REQUESTERMODE_CENTRE,REQUESTERMODE_PREFS,
- REQUESTERMODE_IGNORE
- };
-
- /* Buffer capture modes. */
-
- enum { BUFFERMODE_FLOW, BUFFERMODE_REVIEW };
-
- /* How to sort the phonebook. */
-
- enum { SORT_NAME,SORT_NUMBER,SORT_COMMENT,SORT_SELECTION };
-
- /* How to move list nodes around. */
-
- enum { MOVE_HEAD,MOVE_PRED,MOVE_SUCC,MOVE_TAIL };
-
- /* Some raw key codes. */
-
- #define HELP_CODE 95
- #define DEL_CODE 70
- #define BACKSPACE_CODE 65
- #define RAMIGA_CODE 103
- #define TAB_CODE 66
-
- #define CURSOR_UP_CODE 76
- #define CURSOR_DOWN_CODE 77
- #define CURSOR_RIGHT_CODE 78
- #define CURSOR_LEFT_CODE 79
-
- #define F01_CODE 80
- #define F02_CODE 81
- #define F03_CODE 82
- #define F04_CODE 83
- #define F05_CODE 84
- #define F06_CODE 85
- #define F07_CODE 86
- #define F08_CODE 87
- #define F09_CODE 88
- #define F10_CODE 89
-
- #define ALT_KEY (IEQUALIFIER_LALT|IEQUALIFIER_RALT)
- #define SHIFT_KEY (IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT)
- #define CONTROL_KEY IEQUALIFIER_CONTROL
-
- /* A couple of useful minterms. */
-
- #define MINTERM_ZERO 0
- #define MINTERM_ONE ABC | ABNC | ANBC | ANBNC | NABC | NABNC | NANBC | NANBNC
- #define MINTERM_COPY ABC | ABNC | NABC | NABNC
- #define MINTERM_NOT_C ABNC | ANBNC | NABNC | NANBNC
- #define MINTERM_B_AND_C ABC | NABC
- #define MINTERM_NOT_B_AND_C ANBC | NANBC
- #define MINTERM_B_OR_C ABC | ABNC | NABC | NABNC | ANBC | NANBC
-
- /* Printer control bits. */
-
- #define PRINT_SERIAL (1L << 0)
- #define PRINT_MODEM (1L << 1)
- #define PRINT_SCREEN (1L << 2)
- #define PRINT_TERMINAL (1L << 3)
- #define PRINT_USERNAME (1L << 4)
- #define PRINT_COMMENT (1L << 5)
- #define PRINT_SIZE (1L << 6)
- #define PRINT_DATE (1L << 7)
- #define PRINT_BITS (1L << 8)
-
- /* Day of week flags. */
-
- #define DAY_MONDAY (1L << 0)
- #define DAY_TUESDAY (1L << 1)
- #define DAY_WEDNESDAY (1L << 2)
- #define DAY_THURSDAY (1L << 3)
- #define DAY_FRIDAY (1L << 4)
- #define DAY_SATURDAY (1L << 5)
- #define DAY_SUNDAY (1L << 6)
-
- /* These signal masks will make life a bit easier. */
-
- #define SIG_WINDOW (1L << Window -> UserPort -> mp_SigBit)
- #define SIG_SERIAL (ReadPort ? 1L << ReadPort -> mp_SigBit : NULL)
- #define SIG_TIMER (1L << TimePort -> mp_SigBit)
- #define SIG_QUEUE (SpecialQueue -> SigMask)
- #define SIG_CHECK (1L << CheckBit)
- #define SIG_REXX (1L << TermRexxPort -> mp_SigBit)
- #define SIG_OWNDEVUNIT (1L << OwnDevBit)
-
- /* Task termination and handshake signal.
- * Note: don't try this at home kids.
- */
-
- #define SIG_KILL SIGBREAKF_CTRL_C
- #define SIG_HANDSHAKE SIGF_SINGLE
-
- /* Double-buffered file server command. */
-
- #define SIG_COMMAND SIGBREAKF_CTRL_D
-
- /* ARexx break signal. */
-
- #define SIG_BREAK SIGBREAKF_CTRL_D
-
- /* Hotkey reset command. */
-
- #define SIG_RESET SIGBREAKF_CTRL_D
-
- /* Skip dial entry. */
-
- #define SIG_SKIP SIGBREAKF_CTRL_D
-
- /* Status commands. */
-
- #define SIG_BELL SIGBREAKF_CTRL_D
- #define SIG_RESETTIME SIGBREAKF_CTRL_E
-
- /* Buffer special signals. */
-
- #define SIG_TOFRONT SIGBREAKF_CTRL_D
- #define SIG_UPDATE SIGBREAKF_CTRL_E
- #define SIG_MOVEUP SIGBREAKF_CTRL_F
-
- /* Status display task. */
-
- #define SIG_CLOSEWINDOW SIGBREAKF_CTRL_F
-
- /* Upload queue. */
-
- #define SIG_SHOW SIGBREAKF_CTRL_D
- #define SIG_HIDE SIGBREAKF_CTRL_E
- #define SIG_GOAWAY SIGBREAKF_CTRL_F
-
- /* A port signal mask. */
-
- #define PORTMASK(P) (1L << (((struct MsgPort *)(P)) -> mp_SigBit))
-
- /* Replacements for CheckItem() and OnMenu()/OffMenu(). */
-
- #define CheckItem(ID,Mode) SetItem(ID,Mode ? SETITEM_SETCHECK : SETITEM_CLRCHECK)
- #define OnItem(ID) SetItem(ID,SETITEM_ON)
- #define OffItem(ID) SetItem(ID,SETITEM_OFF)
-
- /* A handy signal macro. */
-
- #define ClrSignal(Signals) SetSignal(0,Signals)
-
- /* Another neat macro. */
-
- #define NUM_ELEMENTS(s) (sizeof(s) / sizeof((s)[0]))
-
- /* Definitions to access the line signal setting functions supported by
- * some serial IO boards (namely the ASDG board).
- */
-
- #define SIOCMD_SETCTRLLINES (CMD_NONSTD + 7)
- #define SIOB_RTSB 0
- #define SIOB_DTRB 1
- #define SIOB_RTSF (1L << SIOB_RTSB)
- #define SIOB_DTRF (1L << SIOB_DTRB)
-
- /* Turn time of day into `compressed' format. */
-
- #define DT_GET_TIME(Hour,Minute) ((Minute) / 10 + (Hour) * 6)
-
- /* Vector offsets for the TimeDate structure. */
-
- enum { DT_FIRST_UNIT,DT_NEXT_UNIT };
-
- /* Multiply lines and columns with the current font size. */
-
- #define MUL_X(x) OffsetXTable[x]
- #define MUL_Y(y) OffsetYTable[y]
-
- /* This macro lets us long-align structures on the stack */
-
- #define D_S(type,name) char a_##name[sizeof(type)+3]; \
- type *name = (type *)((LONG)(a_##name+3) & ~3);
-
- /* Like sizeof(..), but for a structure entry. */
-
- #define structsizeof(s,e) sizeof(((struct s *)0)->e)
-
- /* A handy and short alias. */
-
- #define TICK (CHECKIT | MENUTOGGLE)
-
- /* For now the maximum length of a path/file name. */
-
- #define MAX_FILENAME_LENGTH 256
-
- /* The maximum width of a line to be stored in the text buffer. */
-
- #define BUFFER_LINE_MAX 255
-
- /* User interface definitions. */
-
- #define SZ_AutoWidth TAG_USER+2 /* Use default width? */
- #define SZ_NewColumn TAG_USER+4 /* Start new column */
- #define SZ_Lines TAG_USER+5 /* Number of lines in object */
-
- /* Box information types. */
-
- enum { BOX_LEFT,BOX_TOP,BOX_WIDTH,BOX_HEIGHT };
-
- /* Status gadget properties. */
-
- #define SGA_FullWidth (TAG_USER+42)
- #define SGA_Mode (TAG_USER+43)
-
- /* Sizing gadget sizes. */
-
- #define SIZE_GADGET_WIDTH_HIGH 18
- #define SIZE_GADGET_WIDTH_LOW 13
-
- /* Some windows to be opened on the main screen. */
-
- enum { WINDOW_PACKET=100,WINDOW_STATUS,
- WINDOW_REVIEW,WINDOW_FAST,WINDOW_MAIN,
- WINDOW_CHARTAB,WINDOW_QUEUE,WINDOW_FILETRANSFER
- };
-
- /* Window alignment information. */
-
- #define WC_ALIGNLEFT (1<<0)
- #define WC_ALIGNRIGHT (1<<1)
- #define WC_ALIGNTOP (1<<2)
- #define WC_ALIGNBOTTOM (1<<3)
- #define WC_EXPANDWIDTH (1<<4)
- #define WC_EXPANDHEIGHT (1<<5)
- #define WC_ALIGNSIDE (1<<6)
- #define WC_ALIGNBELOW (1<<7)
-
- /* To turn printable characters into control characters. */
-
- #define CONTROL_(x) (x & 0x1F)
-
- /* Screen mode list entry. */
-
- struct ModeNode
- {
- struct Node Node;
- ULONG DisplayID;
- };
-
- /* Trap management. */
-
- struct TrapNode
- {
- struct Node Node;
- LONG Count,
- SequenceLen;
- STRPTR Sequence,
- Command;
- };
-
- /* Trap preferences, not much. */
-
- struct TrapSettings
- {
- BOOLEAN Enabled;
- BOOLEAN Filter;
- };
-
- /* Window alignment data. */
-
- struct WindowInfo
- {
- WORD ID;
- UWORD WindowFlags;
-
- LONG Left,
- Top,
- Width,
- Height;
- };
-
- /* Special character treatment. */
-
- struct SpecialKey
- {
- UBYTE Key;
- JUMP Routine;
- };
-
- /* Cursor backup data. */
-
- struct CursorData
- {
- struct TextFont *CurrentFont;
- WORD CursorX,
- CursorY;
- UBYTE Charset;
- UBYTE CharMode[2];
- UBYTE Attributes;
- UBYTE FgPen,
- BgPen;
- UBYTE Style;
- };
-
- /* File transfer information. */
-
- struct FileTransferNode
- {
- struct MinNode MinNode;
- ULONG Size;
- STRPTR Name;
- };
-
- struct FileTransferInfo
- {
- struct MinList FileList;
- ULONG TotalSize;
- LONG TotalFiles;
-
- ULONG DoneSize;
- LONG DoneFiles;
-
- struct FileTransferNode *CurrentFile;
- ULONG CurrentSize;
- };
-
- /* Global data link. */
-
- struct TermPort
- {
- struct MsgPort MsgPort;
-
- struct Window *TopWindow;
-
- struct SignalSemaphore OpenSemaphore;
-
- LONG ID,OpenCount,HoldIt;
- LONG Reserved[5];
- };
-
- /* Buffer search support. */
-
- struct SearchInfo
- {
- UBYTE Distance[256],
- Pattern[256];
- LONG FoundX,
- FoundY;
- WORD PatternWidth;
- WORD Index;
- BOOLEAN Forward,
- IgnoreCase,
- WholeWords;
- };
-
- struct SearchContext
- {
- struct Window *SearchWindow;
- struct LayoutHandle *SearchHandle;
-
- UBYTE LocalBuffer[256];
- STRPTR Buffer;
-
- BOOLEAN Ok;
- };
-
- /* Support for optimized scrolling routines. */
-
- struct ScrollLineInfo
- {
- LONG Left,Right,Width,
- ColourMask;
- };
-
- /* A Fast! macro list entry. */
-
- struct MacroNode
- {
- struct Node Node;
- UBYTE Macro[30]; /* Macro title */
- UBYTE Code[256]; /* The execution code. */
- };
-
- /* Speech preferences. */
-
- struct SpeechConfig
- {
- WORD Rate,
- Pitch;
- LONG Frequency;
- BOOLEAN Sex,
- Volume,
- Enabled;
- BYTE Pad;
- };
-
- /* Sound preferences */
-
- struct SoundConfig
- {
- UBYTE BellFile[MAX_FILENAME_LENGTH],
-
- ConnectFile[MAX_FILENAME_LENGTH],
- DisconnectFile[MAX_FILENAME_LENGTH],
-
- GoodTransferFile[MAX_FILENAME_LENGTH],
- BadTransferFile[MAX_FILENAME_LENGTH],
-
- RingFile[MAX_FILENAME_LENGTH],
- VoiceFile[MAX_FILENAME_LENGTH];
-
- BOOLEAN Preload;
- BYTE Pad;
- BOOLEAN Volume;
- BYTE Pad2;
-
- UBYTE ErrorNotifyFile[MAX_FILENAME_LENGTH];
- };
-
- /* Macro Preferences. */
-
- struct MacroKeys
- {
- UBYTE Keys[4][10][256];
- };
-
- /* Cursor key preferences. */
-
- struct CursorKeys
- {
- UBYTE Keys[4][4][256];
- };
-
- /* Translation table entry. */
-
- struct TranslationEntry
- {
- STRPTR String; /* Corresponding code string. */
- UBYTE Type; /* Table entry type. */
- UBYTE Len; /* String length if any. */
- UBYTE Extra; /* Saves space, don't need to allocate memory for this one. */
- UBYTE Null; /* Terminating null. */
- };
-
- struct TranslationHeader
- {
- UBYTE Type; /* Table entry type. */
- UBYTE Code; /* Table offset. */
- UBYTE Len; /* Entry length. */
- BYTE Pad;
- };
-
- /* Buffer translation handle. */
-
- struct TranslationHandle
- {
- STRPTR LocalBuffer;
- LONG LocalLen;
-
- STRPTR SourceBuffer;
- LONG SourceLen;
-
- STRPTR DestinationBuffer;
- LONG DestinationLen;
-
- struct TranslationEntry **Table;
- };
-
- /* term hotkey configuration. */
-
- struct HotkeysOld
- {
- UBYTE termScreenToFront[256];
- UBYTE BufferScreenToFront[256];
- UBYTE SkipDialEntry[256];
- BOOLEAN CommodityPriority;
- BOOLEAN HotkeysEnabled;
-
- ULONG Reserved[25];
- };
-
- struct Hotkeys
- {
- UBYTE termScreenToFront[256];
- UBYTE BufferScreenToFront[256];
- UBYTE SkipDialEntry[256];
- BOOLEAN CommodityPriority;
- BOOLEAN HotkeysEnabled;
-
- ULONG Reserved[25];
-
- UBYTE AbortARexx[256];
- };
-
- /* Time/date structure. */
-
- struct TimeDate
- {
- LONG Count; /* Table size. */
-
- ULONG PayPerUnit[2]; /* Pay for each unit; stored as ten thousands */
- ULONG SecPerUnit[2]; /* Number of seconds each unit lasts; stored as ten thousands */
-
- UBYTE Time; /* The time associated with this entry. */
- BOOLEAN Mark; /* Used by the rates editor to keep track of item being edited. */
- };
-
- struct TimeDateOld
- {
- LONG Count; /* Table size. */
- WORD PayPerUnit[2], /* Pay for each unit. */
- SecPerUnit[2]; /* Number of seconds each unit lasts. */
- UBYTE Time; /* The time associated with this entry. */
- BYTE Pad;
- };
-
- /* Time date header information. */
-
- struct TimeDateHeader
- {
- UBYTE Comment[22]; /* Comment for this entry. */
-
- BOOLEAN Month, /* Month of year or -1 -> Day = bitmapped days of week. */
- Day; /* Day of month or -1 -> standard settings. */
- };
-
- struct TimeDateNode
- {
- struct Node Node; /* Default node entry. */
- UBYTE Buffer[30]; /* Name buffer. */
-
- struct TimeDate *Table; /* Table of time/date entries. */
-
- struct TimeDateHeader Header; /* Header information. */
- };
-
- struct TimeNode
- {
- struct Node Node; /* Default node entry. */
- UBYTE Name[20]; /* Name string. */
- UBYTE Time; /* The time for this entry. */
- };
-
- /* This node type links phone number patterns
- * and date/time lists.
- */
-
- struct PatternNode
- {
- struct Node Node;
- UBYTE Pattern[256],
- Comment[40];
- struct MinList List;
- };
-
- /* Serial settings. */
-
- struct SerialSettings
- {
- ULONG BaudRate; /* Baud rate. */
- ULONG BreakLength; /* Length of break signal in microseconds. */
- ULONG SerialBufferSize; /* Size of serial read/write buffer. */
-
- UBYTE SerialDevice[MAX_FILENAME_LENGTH];
- /* Serial device name. */
- LONG UnitNumber; /* Serial device unit number. */
-
- BYTE BitsPerChar; /* Bits per character. */
- BYTE Parity; /* Parity check mode. */
- BYTE StopBits; /* Number of stop bits. */
- BYTE HandshakingProtocol; /* Handshaking protocol (RTS/CTS, etc.). */
- BOOLEAN Duplex; /* Full- or half-duplex? */
-
- BOOLEAN xONxOFF; /* xON/xOFF handshaking enabled? */
- BOOLEAN HighSpeed; /* Radboogie? */
- BOOLEAN Shared; /* Shared device access? */
- BOOLEAN StripBit8; /* Strip high-order bit? */
- BOOLEAN CheckCarrier; /* Track the carrier signal? */
- BOOLEAN PassThrough; /* Pass xON/xOFF characters through to modem? */
- BOOLEAN UseOwnDevUnit; /* Enable OwnDevUnit.library? */
-
- ULONG Quantum; /* Buffer read quantum. */
-
- BOOLEAN IgnoreCarrier; /* Ignore carrier signal. */
-
- BOOLEAN UseNet; /* Use DNet-ID. */
- UWORD NetID; /* The DNet-ID to use. */
-
- BOOLEAN SatisfyODURequests; /* How to satisfy ODU requests. */
- BOOLEAN DirectConnection; /* Directly connected to host? */
-
- UWORD LastVersionSaved, /* The last version the config file was saved with. */
- LastRevisionSaved;
-
- BOOLEAN ReleaseODUWhenOnline; /* Release the device even when online? */
- BOOLEAN ReleaseODUWhenDialing; /* Release the device even when dialing? */
- BOOLEAN NoODUIfShared; /* Don't use ODU when device is opened in shared mode? */
- BYTE Pad;
- };
-
- /* Modem settings. */
-
- struct ModemSettings
- {
- UBYTE ModemInit[80]; /* Modem init string. */
- UBYTE ModemExit[80]; /* Modem exit string. */
- UBYTE ModemHangup[80]; /* Modem hangup string. */
- UBYTE DialPrefix[80]; /* Dial command prefix. */
- UBYTE DialSuffix[80]; /* Dial command suffix. */
-
- UBYTE NoCarrier[16]; /* `No carrier' string. */
- UBYTE NoDialTone[16]; /* `No dialtone' string. */
- UBYTE Connect[16]; /* `Connect' string. */
- UBYTE Voice[16]; /* `Voice' string. */
- UBYTE Ring[16]; /* `Ring' string. */
- UBYTE Busy[16]; /* `Busy' string. */
-
- LONG RedialDelay; /* Length of redial delay. */
- LONG DialRetries; /* Number of dial retries. */
- LONG DialTimeout; /* Length of dial timeout. */
- BOOLEAN ConnectAutoBaud; /* Use baud rate returned by modem? */
- BOOLEAN DropDTR; /* Drop the DTR signal on hangup? */
- BOOLEAN RedialAfterHangup; /* Redial list after hangup? */
- BOOLEAN VerboseDialing; /* Output modem responses while dialing? */
-
- UBYTE Ok[16]; /* `Ok' string. */
- UBYTE Error[16]; /* `Error' string. */
-
- BOOLEAN NoCarrierIsBusy; /* Treat `NO CARRIER' as `BUSY' signal? */
- BOOLEAN AbortHangsUp; /* Dialer `Abort' sends hangup string? */
-
- WORD ConnectLimit; /* Connection limit. */
- UBYTE ConnectLimitMacro[MAX_FILENAME_LENGTH]; /* Macro to be executed when limit is reached. */
-
- LONG TimeToConnect; /* Number of seconds to pass between modem picking up
- * the line and issuing the `CONNECT' message.
- */
-
- BOOLEAN DialMode; /* Use tone or pulse dialing? */
- BOOLEAN DoNotSendMainModemCommands; /* Do not send modem init/exit commands when dialing and using the main configuration? */
-
- LONG InterDialDelay; /* Seconds to wait between two successive dial attempts. */
-
- LONG CharSendDelay; /* Microseconds to wait between chars to send. */
-
- UBYTE PBX_Prefix[80]; /* Additional commands to insert between dial prefix and phone number. */
- BOOLEAN PBX_Mode; /* Send the prefix above. */
- BYTE Pad;
- };
-
- /* Command settings. */
-
- struct CommandSettings
- {
- UBYTE StartupMacro[256]; /* Startup macro. */
- UBYTE LogoffMacro[256]; /* Macro executed after carrier has dropped or hung up. */
- UBYTE UploadMacro[256]; /* Macro to execute after a successful upload. */
- UBYTE DownloadMacro[256]; /* Macro to execute after a successful download. */
-
- UBYTE LoginMacro[256]; /* Login macro, complements the logoff macro. */
- };
-
- /* Screen settings. */
-
- struct ScreenSettings
- {
- ULONG DisplayMode; /* Screen display mode. */
- WORD ColourMode; /* The terminal colour mode. */
- UWORD Colours[16]; /* Colour palette. */
- UBYTE FontName[MAX_FILENAME_LENGTH]; /* Default user interface font. */
- WORD FontHeight; /* Default user interface font height. */
-
- BOOLEAN MakeScreenPublic; /* Are we to make our screen public? */
- BOOLEAN ShanghaiWindows; /* Are we to `shanghai' windows? */
-
- BOOLEAN Blinking; /* Screen blinking enabled? */
- BOOLEAN FasterLayout; /* Faster screen layout? */
- BOOLEAN TitleBar; /* Is the screen title bar enabled? */
- BOOLEAN StatusLine; /* Which mode is the status line in? */
-
- BOOLEAN UseWorkbench; /* Use the Workbench screen for the terminal window? */
-
- UBYTE PubScreenName[MAXPUBSCREENNAME + 1]; /* Name of public screen to open window upon. */
-
- BOOLEAN TimeMode; /* Online time/fee display. */
- BOOLEAN Depth; /* Screen depth if any, 0 = don't bother. */
-
- BOOLEAN UsePens; /* Use special screen pens? */
- BYTE PenColourMode; /* For which colour mode was the pen array built? */
-
- UWORD PenArray[16]; /* Pen index array. */
-
- ULONG DisplayWidth, /* Screen width. */
- DisplayHeight; /* Screen height. */
- UWORD OverscanType; /* Screen overscan type. */
-
- BOOLEAN ShareScreen; /* Don't open a backdrop window, share pens. */
- BOOLEAN SplitStatus; /* Split the status line from the main window. */
-
- BYTE Pad;
- BOOLEAN UseColours96; /* Use the 96 bit colours? */
- ULONG Colours96[16 * 3]; /* The 96 bit colour table. */
- };
-
- /* Terminal settings. */
-
- struct TerminalSettings
- {
- BOOLEAN BellMode; /* The bell mode. */
- BOOLEAN AlertMode; /* The user alert mode. */
- BOOLEAN EmulationMode; /* The terminal emulation mode. */
- BOOLEAN FontMode; /* The font mode. */
-
- BOOLEAN SendCR; /* Standard translations. */
- BOOLEAN SendLF;
- BOOLEAN ReceiveCR;
- BOOLEAN ReceiveLF;
-
- UWORD NumColumns, /* Size of the terminal window. */
- NumLines;
-
- UBYTE KeyMapFileName[MAX_FILENAME_LENGTH]; /* Name of custom keymap file. */
- UBYTE EmulationFileName[MAX_FILENAME_LENGTH]; /* External emulation file name. */
- UBYTE BeepFileName[MAX_FILENAME_LENGTH]; /* Name of the custom beep sound file. */
-
- UBYTE TextFontName[MAX_FILENAME_LENGTH]; /* Terminal text font name. */
- WORD TextFontHeight; /* Terminal text font height. */
-
- BOOLEAN UseTerminalTask; /* Enable the terminal emulation process. */
- BOOLEAN AutoSize; /* Terminal size should be auto adapted. */
-
- UBYTE IBMFontName[MAX_FILENAME_LENGTH]; /* Terminal text font name. */
- WORD IBMFontHeight; /* Terminal text font height. */
- };
-
- /* Path settings. */
-
- struct PathSettings
- {
- UBYTE ASCIIUploadPath[MAX_FILENAME_LENGTH]; /* Default ASCII upload file path. */
- UBYTE ASCIIDownloadPath[MAX_FILENAME_LENGTH]; /* Default ASCII download file path. */
-
- UBYTE TextUploadPath[MAX_FILENAME_LENGTH]; /* Default text upload file path. */
- UBYTE TextDownloadPath[MAX_FILENAME_LENGTH]; /* Default text download file path. */
-
- UBYTE BinaryUploadPath[MAX_FILENAME_LENGTH]; /* Default binary data upload file path. */
- UBYTE BinaryDownloadPath[MAX_FILENAME_LENGTH]; /* Default binary data download file path. */
-
- UBYTE DefaultStorage[MAX_FILENAME_LENGTH]; /* Default configuration storage path. */
-
- UBYTE Editor[MAX_FILENAME_LENGTH]; /* Text file editor to use. */
-
- UBYTE HelpFile[MAX_FILENAME_LENGTH]; /* Help text file. */
- };
-
- /* Miscellaneous settings. */
-
- struct MiscSettings
- {
- BOOLEAN Priority; /* Program priority. */
- BOOLEAN BackupConfig; /* Save the configuration between calls? */
-
- BOOLEAN OpenFastMacroPanel; /* Open the fast! macro panel? */
- BOOLEAN ReleaseDevice; /* Release serial device when iconified? */
-
- BOOLEAN TransferServer; /* Enable data transfer server? */
- BOOLEAN EmulationServer; /* Enable terminal emulation server? */
-
- BOOLEAN OverridePath; /* Override the protocol transfer path? */
- BOOLEAN AutoUpload; /* Enable the auto-upload panel? */
- BOOLEAN SetArchivedBit; /* Set the archived bit for files sent? */
- BOOLEAN IdentifyFiles; /* Try to identify files after download? */
-
- BOOLEAN TransferIcons; /* Transfer files along with their icons? */
- BOOLEAN CreateIcons; /* Create icons for files saved? */
-
- BOOLEAN SimpleIO; /* Use simple file I/O? */
- BOOLEAN PerfMeter; /* Transfer performance meter enabled? */
-
- LONG IOBufferSize; /* Size of the asynchronous I/O buffer. */
-
- BOOLEAN HideUploadIcon; /* Hide the upload queue icon? */
- BOOLEAN ProtectiveMode; /* Give hints and ask for confirmation? */
-
- BOOLEAN AlertMode; /* The user alert mode. */
-
- BOOLEAN RequesterMode; /* Centre, ignore, use preference? */
-
- UWORD RequesterWidth, /* Width of asl requesters. */
- RequesterHeight; /* Height of asl requesters. */
- UWORD RequesterLeft, /* Left edge of asl requesters. */
- RequesterTop; /* Top edge of asl requesters. */
-
- UBYTE WaitString[256]; /* String to send repeatedly while the "Wait" code is running. */
- LONG WaitDelay; /* Time to wait between single commands. */
-
- UBYTE WindowName[256]; /* The console window specifier. */
- BOOLEAN SuppressOutput; /* Suppress console output? */
- BYTE Pad;
- };
-
- /* Clipboard settings. */
-
- struct ClipSettings
- {
- WORD ClipboardUnit; /* Clipboard unit to use. */
-
- WORD LineDelay, /* Insert line delay. */
- CharDelay; /* Insert character delay. */
-
- UBYTE InsertPrefix[80]; /* Line insertion prefix. */
- UBYTE InsertSuffix[80]; /* Line insertion suffix. */
-
- UBYTE LinePrompt[256]; /* Line wait prompt. */
- WORD SendTimeout; /* Line send timeout. */
- UBYTE PacingMode; /* Text pacing mode. */
- BOOLEAN ConvertLF; /* Convert <LF> characters to <CR> */
- };
-
- /* Capture and logfile settings. */
-
- struct CaptureSettings
- {
- BOOLEAN LogActions; /* Create logfile? */
- BOOLEAN LogCall; /* Create callinfo-compatible logfile? */
- UBYTE LogFileName[MAX_FILENAME_LENGTH]; /* Default logfile name. */
-
- LONG MaxBufferSize; /* Maximum text buffer size. */
- BOOLEAN BufferEnabled; /* Is the text buffer enabled? */
-
- BOOLEAN ConnectAutoCapture; /* Open capture file on logon? */
- BOOLEAN CaptureFilterMode; /* The capture filter mode. */
- UBYTE CapturePath[MAX_FILENAME_LENGTH]; /* The default path for capture files. */
-
- UBYTE CallLogFileName[MAX_FILENAME_LENGTH]; /* Name of the call log file. */
- UBYTE BufferPath[MAX_FILENAME_LENGTH]; /* Text buffer save path. */
-
- BOOLEAN AutoCaptureDate; /* Where to include the creation date? */
- UBYTE SearchHistory;
-
- BOOLEAN OpenBufferWindow; /* Where to open the buffer window. */
- BOOLEAN OpenBufferScreen; /* Where to open the buffer screen. */
-
- BOOLEAN BufferScreenPosition; /* Where to place the buffer screen (horizontal) */
- UBYTE BufferWidth; /* How long each line in the buffer should be. */
-
- BOOLEAN RememberBufferWindow; /* Remember buffer window context? */
- BOOLEAN RememberBufferScreen; /* Remember buffer screen context? */
-
- ULONG BufferScreenMode; /* Screen display mode for buffer screen. */
-
- BOOLEAN ConvertChars; /* Convert IBM characters? */
- BOOLEAN BufferMode; /* How the capture buffer should receive data. */
-
- BYTE LogFileFormat; /* Format of the log files. */
- BYTE Pad;
-
- ULONG BufferSafetyMemory; /* Don't allocate any further memory if
- * this or less memory is still available.
- */
- };
-
- /* File settings. */
-
- struct FileSettings
- {
- UBYTE ProtocolFileName[MAX_FILENAME_LENGTH]; /* Transfer protocol file name. */
- UBYTE TranslationFileName[MAX_FILENAME_LENGTH]; /* Character translation file name. */
- UBYTE MacroFileName[MAX_FILENAME_LENGTH]; /* Keyboard macro file name. */
- UBYTE CursorFileName[MAX_FILENAME_LENGTH]; /* Cursor key file name. */
- UBYTE FastMacroFileName[MAX_FILENAME_LENGTH]; /* Fast macro file name. */
- };
-
- /* Emulation settings. */
-
- struct EmulationSettings
- {
- BOOLEAN CursorMode; /* Are the cursor keys switched to application mode? */
- BOOLEAN NumericMode; /* Is the numeric keypad switched to application mode? */
-
- BOOLEAN CursorWrap; /* Is cursor position wrapping enabled? */
- BOOLEAN LineWrap; /* Is character line wrapping enabled? */
-
- BOOLEAN InsertMode; /* Is the character insertion mode enabled? */
- BOOLEAN NewLineMode; /* Is the newline mode enabled? */
-
- BOOLEAN FontScale; /* Which font scale is enabled? */
- BOOLEAN ScrollMode; /* Is smooth scrolling enabled? */
- BOOLEAN DestructiveBackspace; /* Backspace erases characters? */
- BOOLEAN SwapBSDelete; /* DEL and BS keys are swapped? */
- BOOLEAN PrinterEnabled; /* Printer commands enabled? */
- BOOLEAN CLSResetsCursor; /* Clear screen command resets cursor position? */
-
- UBYTE AnswerBack[80]; /* Answer-back message. */
-
- BOOLEAN KeysLocked; /* Numeric keypad mode locked? */
- UBYTE MaxScroll; /* Maximum number of lines to prescroll. */
- UBYTE MaxJump; /* Maximum number of lines to scroll in one jump. */
- BOOLEAN CursorLocked; /* Cursor keys locked? */
- BOOLEAN FontLocked; /* Font size locked? */
- BOOLEAN LockWrapping; /* Line wrapping locked? */
- BOOLEAN LockStyle; /* Text style locked? */
- BOOLEAN LockColour; /* Text colour locked? */
-
- BOOLEAN UseStandardPens; /* Use the standard pens/attributes? */
- BYTE TerminalType; /* How to identify ourselves (VT100 or VT200) */
-
- UBYTE Attributes[4]; /* Attribute mappings. */
- UWORD Pens[16]; /* Rendering pens. */
- };
-
- struct TransferSignature
- {
- UBYTE Signature[40];
- WORD Length;
- };
-
- /* File transfer library settings. */
-
- struct TransferSettings
- {
- UBYTE DefaultLibrary[MAX_FILENAME_LENGTH],
- ASCIIUploadLibrary[MAX_FILENAME_LENGTH],
- ASCIIDownloadLibrary[MAX_FILENAME_LENGTH],
- TextUploadLibrary[MAX_FILENAME_LENGTH],
- TextDownloadLibrary[MAX_FILENAME_LENGTH],
- BinaryUploadLibrary[MAX_FILENAME_LENGTH],
- BinaryDownloadLibrary[MAX_FILENAME_LENGTH];
- BOOLEAN InternalASCIIUpload,
- InternalASCIIDownload,
- QuietTransfer,
- MangleFileNames;
-
- WORD LineDelay, /* Insert line delay. */
- CharDelay; /* Insert character delay. */
-
- UBYTE LinePrompt[256]; /* Line wait prompt. */
- WORD SendTimeout; /* Line send timeout. */
- UBYTE PacingMode; /* Text pacing mode. */
- BOOLEAN StripBit8; /* Strip high order bit. */
- BOOLEAN IgnoreDataPastArnold; /* Ignore data past terminator. */
- UBYTE TerminatorChar; /* Terminator character. */
- BYTE SendCR,
- SendLF,
- ReceiveCR,
- ReceiveLF;
-
- UWORD ErrorNotification; /* Notify user after <n> errors have occured. */
- BYTE TransferNotification; /* Notify the user when a transfer has started/finished? */
- BYTE DefaultType,
- ASCIIDownloadType,
- ASCIIUploadType,
- TextDownloadType,
- TextUploadType,
- BinaryUploadType,
- BinaryDownloadType;
-
- struct TransferSignature Signatures[TRANSFERSIG_BINARYDOWNLOAD + 1];
-
- BOOLEAN OverridePath; /* Override the protocol transfer path? */
- BOOLEAN SetArchivedBit; /* Set the archived bit for files sent? */
- BOOLEAN IdentifyFiles; /* Try to identify files after download? */
- BOOLEAN TransferIcons; /* Transfer files along with their icons? */
- BOOLEAN PerfMeter; /* Transfer performance meter enabled? */
- BOOLEAN HideUploadIcon; /* Hide the upload queue icon? */
-
- UBYTE IdentifyCommand[256]; /* Command used to identify downloaded files. */
-
- BOOLEAN ExpandBlankLines; /* Insert spaces when transferring blank text lines? */
- BYTE Pad;
- };
-
- /* The new configuration settings. */
-
- struct Configuration
- {
- struct SerialSettings *SerialConfig;
- struct ModemSettings *ModemConfig;
- struct ScreenSettings *ScreenConfig;
- struct TerminalSettings *TerminalConfig;
- struct EmulationSettings *EmulationConfig;
- struct ClipSettings *ClipConfig;
- struct CaptureSettings *CaptureConfig;
- struct CommandSettings *CommandConfig;
- struct MiscSettings *MiscConfig;
- struct PathSettings *PathConfig;
- struct FileSettings *FileConfig;
- struct TransferSettings *TransferConfig;
-
- STRPTR TranslationFileName;
- STRPTR MacroFileName;
- STRPTR CursorFileName;
- STRPTR FastMacroFileName;
-
- STRPTR SpeechFileName;
- STRPTR SoundFileName;
- STRPTR AreaCodeFileName;
- STRPTR PhonebookFileName;
- STRPTR HotkeyFileName;
- STRPTR TrapFileName;
- };
-
- /* A text box for several lines of text. */
-
- struct TextBox
- {
- struct TextBox *NextBox; /* Next box in chain. */
-
- LONG Left,Top, /* Position and size. */
- Width,Height;
-
- LONG LineWidth, /* Line width in pixels. */
- LineHeight; /* Line height in pixels. */
-
- LONG NumChars, /* Number of chars per line. */
- NumLines; /* Number of lines. */
-
- STRPTR *Title, /* Line titles. */
- *Text; /* Line texts. */
-
- LONG TitleFgPen,
- TitleBgPen,
- TextPen;
- };
-
- /* Block marker structure. */
-
- struct BlockMarker
- {
- /* The object to manipulate. */
-
- struct RastPort * RPort;
-
- /* Origin anchor point. */
-
- LONG OriginX,
- OriginY;
-
- /* First and last selected line. */
-
- LONG FirstLine,
- LastLine;
-
- /* First and last selected column. */
-
- LONG FirstColumn,
- LastColumn;
-
- /* Top of display window, lines in the buffer and size of
- * the display window.
- */
-
- LONG Top,
- Lines,
- Width,
- Height;
-
- /* Canvas left and top edge. */
-
- LONG LeftEdge,
- TopEdge;
-
- /* Last mouse position. */
-
- LONG LastX,
- LastY;
-
- /* Single character dimensions. */
-
- LONG TextFontWidth,
- TextFontHeight;
-
- /* Plane write mask. */
-
- UBYTE WriteMask;
- };
-
- /* Clipboard marker callback routine. */
-
- typedef VOID (* MARKER)(struct BlockMarker *,LONG,LONG,LONG,LONG);
-
- /* Global data flow <-> term interface. */
-
- struct FlowInfo
- {
- BOOLEAN Changed;
-
- BOOLEAN NoCarrier;
-
- BOOLEAN Connect,
- Voice,
- Ring,
- Busy,
- NoDialTone,
- Ok,
- Error;
-
- BOOLEAN Signature;
- };
-
- /* A scan sequence, somewhat similar to the FlowInfo structure. */
-
- struct WaitNode
- {
- struct Node Node;
- LONG Count; /* Number of characters matched. */
- STRPTR Response; /* Immediate response. */
- LONG ResponseLen; /* Length of immediate response string. */
- };
-
- /* A rudimentary dial node, as employed by the ARexx interface */
-
- struct GenericDialNode
- {
- struct Node Node; /* The node name */
- STRPTR Number; /* The number to dial if any */
- LONG Index; /* The phonebook entry to dial */
- };
-
- /* A list as employed by the ARexx interface. */
-
- struct GenericList
- {
- struct MinList ListHeader;
- struct Node *ListNode;
- LONG ListOffset;
- LONG ListCount;
- struct SignalSemaphore ListSemaphore;
- APTR UserData;
- GENERICNOTIFY Notify;
- };
-
- /* Number of buffers to be used for buffered I/O. */
-
- #define BUFFER_NUMBER 2
-
- /* Auxiliary structure for buffered file I/O. */
-
- struct Buffer
- {
- struct Message Message; /* Vanilla message header. */
-
- struct MsgPort *InfoPort; /* The filing system the destination file handle is bound to. */
- struct InfoData InfoData;
-
- BOOLEAN SimpleIO; /* Real simple I/O? */
- BYTE Pad;
-
- BOOLEAN Read; /* Last access has read data. */
- BOOLEAN Written; /* Last access has written data. */
-
- LONG Action; /* Action to perform. */
- LONG ActionData[2]; /* Seek and the like. */
- LONG Result; /* Return value. */
-
- BPTR FileHandle; /* Dos filehandle. */
-
- UBYTE *Data; /* Data buffer. */
- LONG BufLength; /* Length of data buffer. */
-
- LONG BufPosition; /* Read/write pointer into buffer. */
-
- LONG ReadBufFull; /* How many bytes are still to be read from the buffer? */
- LONG WriteBufFull; /* How many bytes are still to be written to the buffer?*/
-
- LONG RealPosition; /* Real position in file. */
- LONG Cached; /* How many bytes in pre-load cache. */
-
- UBYTE *DataBuffer[BUFFER_NUMBER]; /* The data buffers. */
- LONG DataLength[BUFFER_NUMBER]; /* The lengths of the data buffers. */
- WORD DataCount; /* Which buffer to use. */
- BOOLEAN WriteAccess; /* TRUE if a write file handle. */
- BOOLEAN LastActionFailed; /* TRUE if last action failed -> abort actions. */
-
- struct Process *Child;
- struct Process *Caller; /* Synchronization. */
-
- BOOLEAN Fresh; /* TRUE if no read/write access has taken place yet. */
- BOOLEAN Used; /* Did any access take place at all? */
-
- struct DateStamp OpenDate; /* Date and time when file was opened. */
- };
-
- /* xpr serial bits. */
-
- #define ST_PARTYON (1L << 0)
- #define ST_PARTYODD (1L << 1)
- #define ST_7WIRE (1L << 2)
- #define ST_QBREAK (1L << 3)
- #define ST_RADBOOGIE (1L << 4)
- #define ST_SHARED (1L << 5)
- #define ST_EOFMODE (1L << 6)
- #define ST_XDISABLED (1L << 7)
- #define ST_PARTYMARKON (1L << 8)
- #define ST_PARTYMARK (1L << 9)
- #define ST_2BITS (1L << 10)
- #define ST_READ7 (1L << 11)
- #define ST_WRITE7 (1L << 12)
-
- /* Miscellaneous definitions. */
-
- #define MILLION 1000000
-
- /* Raster text line attributes. */
-
- #define ATTR_UNDERLINE 1
- #define ATTR_HIGHLIGHT 2
- #define ATTR_BLINK 4
- #define ATTR_INVERSE 8
-
- enum { TEXTATTR_UNDERLINE,TEXTATTR_HIGHLIGHT,
- TEXTATTR_BLINK,TEXTATTR_INVERSE,
- TEXTATTR_NONE
- };
-
- /* Audio channels. */
-
- #define LEFT0F 1
- #define RIGHT0F 2
- #define RIGHT1F 4
- #define LEFT1F 8
-
- /* Program revision and the appropriate info structure. */
-
- struct TermInfo
- {
- UWORD Version;
- UWORD Revision;
- };
-
- /**********************************************************************/
-
-
- /* A message queue handle */
-
- struct MsgQueue
- {
- struct SignalSemaphore Access; /* Access semaphore */
- struct MinList MsgList; /* This is where the queue items go */
-
- LONG QueueSize, /* The length of the queue */
- MaxSize; /* The maximum size of the queue, may be 0 */
-
- struct MinList WaitList; /* The list of tasks to wait for a wakeup signal */
-
- struct Task *SigTask; /* The owner of this handle */
- ULONG SigMask; /* The signal mask to wake up the owner */
- WORD SigBit; /* The bit allocated for the mask, may be -1 */
-
- BOOLEAN Discard; /* Discard or queue new items? */
- };
-
- /* A message item as used by the queue manager */
-
- struct MsgItem
- {
- struct MinNode MinNode; /* List node link */
- DESTRUCTOR Destructor; /* Destructor routine if any */
- };
-
- /* Your simple message item destructor setup */
-
- #define InitMsgItem(Item,Dest) (((struct MsgItem *)Item) -> Destructor = (Dest))
-
-
- /**********************************************************************/
-
-
- enum { DATAMSGTYPE_WRITE,DATAMSGTYPE_WRITECLIP,
- DATAMSGTYPE_UPDATEREVIEW,DATAMSGTYPE_MOVEREVIEW,
- DATAMSGTYPE_SERIALCOMMAND,DATAMSGTYPE_UPLOAD,
- DATAMSGTYPE_COMMANDDONE,DATAMSGTYPE_MENU,
- DATAMSGTYPE_RENDEZVOUS,DATAMSGTYPE_SERIALCOMMANDNOECHO,
- DATAMSGTYPE_CLEARBUFFER,DATAMSGTYPE_REDIAL,
- DATAMSGTYPE_HANGUP,DATAMSGTYPE_GOONLINE,
- DATAMSGTYPE_DIAL,DATAMSGTYPE_WRITESTRING,
- DATAMSGTYPE_WRITESTRING_NOECHO
- };
-
- /* An extension of the MsgItem data type */
-
- struct DataMsg
- {
- struct MsgItem Item; /* The message item link */
-
- LONG Type; /* Message type */
- UBYTE * Data; /* Pointer to data area */
- LONG Size; /* Size of data area */
-
- struct Task * Client; /* Client task to signal */
- ULONG Mask; /* Client signal mask */
- };
-
- /* An extension of the DataMsg data type */
-
- struct DataReplyMsg
- {
- struct DataMsg Data; /* DataMsg link */
-
- struct Task * Creator; /* Creator to notify */
- ULONG CreatorMask; /* Creator notification signal */
- };
-
- /* Another extension of the DataMsg data type */
-
- struct DataDialMsg
- {
- struct DataMsg Data; /* DataMsg link */
-
- struct RexxMsg *DialMsg; /* RexxMsg to reply when done */
- struct List * DialList; /* List of entries to dial */
- };
-
-
- /**********************************************************************/
-
-
- /* Serial device attributes */
-
- #define SERA_Baud TAG_USER+1 /* Baud rate */
- #define SERA_BreakTime TAG_USER+2 /* Break time */
- #define SERA_BitsPerChar TAG_USER+3 /* Bits per character */
- #define SERA_StopBits TAG_USER+4 /* Number of stop bits */
- #define SERA_BufferSize TAG_USER+5 /* Read/Write buffer size */
- #define SERA_Parity TAG_USER+6 /* Parity */
- #define SERA_Handshaking TAG_USER+7 /* Handshaking mode */
- #define SERA_HighSpeed TAG_USER+8 /* Highspeed mode */
- #define SERA_Shared TAG_USER+9 /* Shared access */
-
-
- /**********************************************************************/
-
-
- /* One of the emulation callback routines. */
-
- typedef VOID (* EPTR)(STRPTR Buffer);
-
- /* This structure describes an ANSI control sequence. */
-
- struct ControlCode
- {
- UBYTE FirstChar;
- STRPTR Match,
- Terminator;
- UBYTE LastChar;
-
- BYTE ExactSize;
- EPTR Func;
- };
-
-
- /**********************************************************************/
-
-
- /* A 96 bit colour entry. */
-
- typedef struct ColourEntry
- {
- WORD One,
- Which;
-
- ULONG Red,
- Green,
- Blue;
- } ColourEntry;
-
- /* A table of colour entries, ready for LoadRGB32(). */
-
- typedef struct ColourTable
- {
- WORD NumColours;
-
- struct ColourEntry Entry[0];
-
- WORD Terminator;
- } ColourTable;
-
- /* Spread a byte across a long word. */
-
- #define SPREAD(v) ((ULONG)(v) << 24 | (ULONG)(v) << 16 | (ULONG)(v) << 8 | (v))
-
-
- /**********************************************************************/
-
-
- /* AmigaUW terminal window resize support. */
-
- #define UWCMD_TTYRESIZE (CMD_NONSTD+20)
-
-
- /**********************************************************************/
-
-
- /* A phone list entry. */
-
- typedef struct PhoneNode
- {
- struct Node Node; /* A standard node header. */
- UBYTE LocalName[60]; /* Name of this entry; this includes
- * a prefix assigned if this entry is
- * marked to go into the dial list.
- */
- struct PhoneEntry *Entry; /* Points to the curresponding phonebook entry. */
- } PhoneNode;
-
- /* A dial list entry. */
-
- struct DialNode
- {
- struct Node Node; /* List link */
- struct PhoneEntry * Entry; /* Points to the configuration data */
- STRPTR Number; /* Holds the number to dial if any */
- BOOL FromPhonebook; /* TRUE if this entry was put here because */
- /* it was tagged in the phonebook */
- STRPTR InitCommand; /* Modem setup command, if any. */
- STRPTR ExitCommand; /* Modem cleanup command, if any. */
- STRPTR DialPrefix; /* Modem dial prefix, if any. */
- STRPTR DialSuffix; /* Modem dial suffix, if any. */
- };
-
- /* Phonebook entry header. */
-
- typedef struct PhoneHeader
- {
- UBYTE Name[40], /* BBS name. */
- Number[100], /* Phone number. */
- Comment[100]; /* Comment. */
-
- UBYTE UserName[100], /* User name for this BSS. */
- Password[100]; /* Password for user name. */
-
- BOOLEAN QuickMenu; /* This entry appears in the quick dial menu? */
- BOOLEAN NoRates; /* Do not use rate information. */
-
- ULONG ID; /* Unique ID of this entry. */
-
- struct timeval Creation; /* Creation time. */
-
- BOOLEAN AutoDial; /* Put this entry on the autodial list. */
- BYTE Pad;
-
- LONG Marked; /* > 0 if marked for dialing. */
- } PhoneHeader;
-
- /* A phonebook entry. */
-
- typedef struct PhoneEntry
- {
- struct PhoneNode *Node; /* Points back to attached list node if any;
- * this node would be on display in the
- * phonebook list view.
- */
- struct DialNode *DialNode; /* Points back to attached list node if any;
- * this node would be on the dial list.
- */
-
- struct MinList TimeDateList; /* Rates and costs. */
-
- LONG Count; /* Denotes the order in which this entry is to
- * go into the dial list. A value < 0 indicates
- * that this entry is not going to go into the
- * dial list.
- */
-
- struct PhoneGroupNode *ThisGroup; /* The group in which this entry is found. A
- * value of NULL indicates that this entry is
- * not a memer of a group.
- */
- struct PhoneNode *GroupNode; /* Points to the group node attached to this
- * entry. A value of NULL indicates that this
- * entry is not a member of a group.
- */
-
- struct PhoneHeader *Header; /* Points to phone book header. */
- struct Configuration *Config; /* Points to configuration data. */
- } PhoneEntry;
-
- typedef struct PhonebookHandle
- {
- struct PhoneEntry **Phonebook; /* Table of phonebook entries. */
- LONG PhoneSize; /* Total size of the phonebook table */
- LONG NumPhoneEntries; /* Number of table entries actually used. */
- struct MinList PhoneGroupList; /* The list of groups used by this phonebook. */
- ULONG PhonebookID; /* A counter every phonebook entry receives
- * its unique ID from.
- */
- ULONG DefaultGroup; /* Default group to show after loading. */
- UBYTE PhonePassword[30]; /* The access password assigned to this phonebook. */
- BOOLEAN PhonePasswordUsed; /* Indicates whether the password is active or not. */
- BOOLEAN AutoDial; /* Indicates whether this phonebook has the
- * automatic startup dial feature enabled.
- */
- BOOLEAN AutoExit; /* Indicates whether this phonebook has the
- * automatic startup dial & exit feature enabled.
- */
- LONG DialMarker; /* Number of entries marked for dialing. */
-
- struct List *DialList; /* The dial list attached to this phonebook. */
-
- struct List *PhoneList; /* List of phonebook entries, ready to display
- * in a list view.
- */
- struct SignalSemaphore ActiveSemaphore; /* Must be locked before messing with the active entry. */
- PhoneEntry *ActiveEntry; /* Currently active phonebook entry. */
- } PhonebookHandle;
-
- typedef struct PhoneGroupNode
- {
- struct Node Node; /* A standard node header. */
- UBYTE LocalName[40]; /* The name of the group. */
- struct MinList GroupList; /* The phonebook entries assigned to this group. */
- } PhoneGroupNode;
-
- typedef struct PhonebookGlobals
- {
- ULONG Count; /* Number of entries in this phonebook */
- ULONG ID; /* ID counter for this phonebook */
- ULONG DefaultGroup; /* Number of the group the phonebook displays when first opened */
- BOOLEAN AutoDial; /* Start dialing after program is started */
- BOOLEAN AutoExit; /* Exit program after list is dialed */
- } PhonebookGlobals;
-
- typedef struct PhoneGroupHeader
- {
- UBYTE FullName[40]; /* Name of this very group */
- LONG Count; /* Number of entries to follow */
- BYTE Pad[8]; /* For future extension, if necessary */
- } PhoneGroupHeader;
-
- typedef struct PhoneListContext
- {
- PhonebookHandle *PhoneHandle; /* The phonebook currently in use */
- struct List *CurrentList; /* List currently being displayed */
- LONG NumEntries; /* Number of entries in that list */
- STRPTR *GroupLabels; /* The labels to go into the group display */
- struct MsgPort *WindowPort; /* The MsgPort to use for the windows attached */
- /* to this control panel */
- PhoneNode *SelectedNode; /* Currently active entry (from the list) */
- LONG SelectedIndex; /* Currently active entry (from the table) */
-
- UBYTE WindowTitle[80]; /* The main window title */
-
- LayoutHandle *Manager; /* The main window layout handle */
- LayoutHandle *Editor; /* The editor window layout handle */
- LayoutHandle *Selector;
- LayoutHandle *Grouping;
- LayoutHandle *Sorting;
- LayoutHandle *PasswordHandle;
-
- struct Window *Window; /* The main window */
- struct Window *EditWindow;
- struct Window *PatternWindow;
- struct Window *GroupWindow;
- struct Window *SortWindow;
- struct Window *PasswordWindow;
-
- BOOL Hide; /* Whether or not password and user name should be hidden */
- } PhoneListContext;
-
-
- /**********************************************************************/
-
-
- /* Window backfill support */
-
- typedef struct LayerMsg
- {
- ULONG Layer;
- struct Rectangle Bounds;
- } LayerMsg;
-
-
- /**********************************************************************/
-
-
- /* Information table entry types. */
-
- enum { INFO_STEM,INFO_TEXT,INFO_NUMERIC,INFO_BOOLEAN,INFO_MAPPED };
-
- /* Data types to save or open. */
-
- enum { DATATYPE_TRANSLATIONS,DATATYPE_FUNCTIONKEYS,DATATYPE_CURSORKEYS,
- DATATYPE_FASTMACROS,DATATYPE_HOTKEYS,DATATYPE_SPEECH,DATATYPE_SOUND,DATATYPE_BUFFER,
- DATATYPE_CONFIGURATION,DATATYPE_PHONEBOOK,DATATYPE_SCREENTEXT,
- DATATYPE_SCREENIMAGE,DATATYPE_COUNT };
-
- /* Requester types. */
-
- enum { REQUESTER_SERIAL,REQUESTER_MODEM,REQUESTER_SCREEN,
- REQUESTER_TERMINAL,REQUESTER_EMULATION,REQUESTER_CLIPBOARD,
- REQUESTER_CAPTURE,REQUESTER_COMMANDS,REQUESTER_MISC,
- REQUESTER_PATH,REQUESTER_TRANSFER,REQUESTER_TRANSLATIONS,
- REQUESTER_FUNCTIONKEYS,REQUESTER_CURSORKEYS,REQUESTER_FASTMACROS,
- REQUESTER_HOTKEYS,REQUESTER_SPEECH,REQUESTER_SOUND,REQUESTER_PHONE,
- REQUESTER_COUNT };
-
- /* Window types. */
-
- enum { WINDOWID_BUFFER,WINDOWID_REVIEW,WINDOWID_PACKET,WINDOWID_FASTMACROS,
- WINDOWID_STATUS,WINDOWID_MAIN,WINDOWID_UPLOAD_QUEUE,WINDOWID_SINGLE_CHAR_ENTRY,
- WINDOWID_COUNT
- };
-
- /* The maximum length of an ARexx result variable. */
-
- #define MAX_RESULT_LEN 65536
-
- /* ARexx interface error codes. */
-
- #define TERMERROR_NO_DATA_TO_PROCESS 1000
- #define TERMERROR_INDEX_OUT_OF_RANGE 1001
- #define TERMERROR_UNKNOWN_OBJECT 1002
- #define TERMERROR_RESULT_VARIABLE_REQUIRED 1003
- #define TERMERROR_UNIT_NOT_AVAILABLE 1004
- #define TERMERROR_DEVICE_DRIVER_STILL_OPEN 1005
- #define TERMERROR_CLIPBOARD_ERROR 1006
- #define TERMERROR_INFORMATION_IS_READ_ONLY 1007
- #define TERMERROR_DATA_TYPES_INCOMPATIBLE 1008
- #define TERMERROR_LIST_IS_ALREADY_EMPTY 1009
- #define TERMERROR_UNKNOWN_LIST 1010
- #define TERMERROR_WRONG_LIST 1011
- #define TERMERROR_UNKNOWN_COMMAND 1012
-
- /* An information table entry node. */
-
- struct AttributeEntry
- {
- WORD Level; /* Node level */
- STRPTR Name; /* Name or NULL for numeric value */
- UBYTE Type; /* Node type (INFO_TEXT through INFO_MAPPED) */
- BOOLEAN ReadOnly; /* If information happens to be read-only */
- STRPTR *Mappings; /* Type mappings if applicable */
- WORD NodeID; /* Node ID code */
- };
-
- /* Argument mutual exclusion information. */
-
- struct ExclusionInfo
- {
- BYTE A,B;
- };
-
- /* A special message and argument packet. */
-
- struct RexxPkt
- {
- struct Message Message;
-
- struct RexxMsg *RexxMsg;
- STRPTR *Array;
- struct RDArgs *Args;
- struct CommandInfo *CommandInfo;
- LONG Results[2];
- };
-
- /* A special function key pointer. */
-
- typedef STRPTR (* COMMAND)(struct RexxPkt *);
-
- /* Argument inclusion bits. */
-
- #define INCLUDE_00 (1 << 0)
- #define INCLUDE_01 (1 << 1)
- #define INCLUDE_02 (1 << 2)
- #define INCLUDE_03 (1 << 3)
- #define INCLUDE_04 (1 << 4)
- #define INCLUDE_05 (1 << 5)
- #define INCLUDE_06 (1 << 6)
- #define INCLUDE_07 (1 << 7)
- #define INCLUDE_08 (1 << 8)
- #define INCLUDE_09 (1 << 9)
- #define INCLUDE_10 (1 << 10)
- #define INCLUDE_11 (1 << 11)
-
- /* Rexx command information. */
-
- struct CommandInfo
- {
- BOOLEAN Async;
- BOOLEAN AutoCleanup;
- COMMAND Routine;
- STRPTR Name,
- Arguments;
- };
-
-
- /**********************************************************************/
-
-
- enum { ATTR_APPLICATION,
- ATTR_APPLICATION_VERSION,
- ATTR_APPLICATION_SCREEN,
- ATTR_APPLICATION_SESSION,
- ATTR_APPLICATION_SESSION_ONLINE,
- ATTR_APPLICATION_SESSION_SESSIONSTART,
- ATTR_APPLICATION_SESSION_BYTESSENT,
- ATTR_APPLICATION_SESSION_BYTESRECEIVED,
- ATTR_APPLICATION_SESSION_CONNECTMESSAGE,
- ATTR_APPLICATION_SESSION_BBSNAME,
- ATTR_APPLICATION_SESSION_BBSNUMBER,
- ATTR_APPLICATION_SESSION_BBSCOMMENT,
- ATTR_APPLICATION_SESSION_USERNAME,
- ATTR_APPLICATION_SESSION_ONLINEMINUTES,
- ATTR_APPLICATION_SESSION_ONLINECOST,
- ATTR_APPLICATION_AREXX,
- ATTR_APPLICATION_LASTERROR,
- ATTR_APPLICATION_TERMINAL,
- ATTR_APPLICATION_TERMINAL_ROWS,
- ATTR_APPLICATION_TERMINAL_COLUMNS,
- ATTR_APPLICATION_BUFFER,
- ATTR_APPLICATION_BUFFER_SIZE,
- ATTR_PHONEBOOK,
- ATTR_PHONEBOOK_COUNT,
- ATTR_PHONEBOOK_X,
- ATTR_PHONEBOOK_X_NAME,
- ATTR_PHONEBOOK_X_NUMBER,
- ATTR_PHONEBOOK_X_COMMENTTEXT,
- ATTR_PHONEBOOK_X_USERNAME,
- ATTR_PHONEBOOK_X_PASSWORDTEXT,
- ATTR_PREFS_SERIAL,
- ATTR_PREFS_SERIAL_BAUDRATE,
- ATTR_PREFS_SERIAL_BREAKLENGTH,
- ATTR_PREFS_SERIAL_BUFFERSIZE,
- ATTR_PREFS_SERIAL_DEVICENAME,
- ATTR_PREFS_SERIAL_UNIT,
- ATTR_PREFS_SERIAL_BITSPERCHAR,
- ATTR_PREFS_SERIAL_PARITYMODE,
- ATTR_PREFS_SERIAL_STOPBITS,
- ATTR_PREFS_SERIAL_HANDSHAKINGMODE,
- ATTR_PREFS_SERIAL_DUPLEXMODE,
- ATTR_PREFS_SERIAL_XONXOFF,
- ATTR_PREFS_SERIAL_HIGHSPEED,
- ATTR_PREFS_SERIAL_SHARED,
- ATTR_PREFS_SERIAL_STRIPBIT8,
- ATTR_PREFS_SERIAL_CARRIERCHECK,
- ATTR_PREFS_SERIAL_PASSXONXOFFTHROUGH,
- ATTR_PREFS_SERIAL_QUANTUM,
- ATTR_PREFS_SERIAL_USE_OWNDEVUNIT,
- ATTR_PREFS_SERIAL_OWNDEVUNIT_REQUEST,
- ATTR_PREFS_SERIAL_DIRECT_CONNECTION,
- ATTR_PREFS_SERIAL_RELEASE_WHEN_ONLINE,
- ATTR_PREFS_SERIAL_RELEASE_WHEN_DIALING,
- ATTR_PREFS_SERIAL_NO_ODU_IF_SHARED,
- ATTR_PREFS_SERIAL_LOCAL_ECHO,
- ATTR_PREFS_MODEM,
- ATTR_PREFS_MODEM_MODEMINITTEXT,
- ATTR_PREFS_MODEM_MODEMEXITTEXT,
- ATTR_PREFS_MODEM_MODEMHANGUPTEXT,
- ATTR_PREFS_MODEM_DIALPREFIXTEXT,
- ATTR_PREFS_MODEM_DIALSUFFIXTEXT,
- ATTR_PREFS_MODEM_NOCARRIERTEXT,
- ATTR_PREFS_MODEM_NODIALTONETEXT,
- ATTR_PREFS_MODEM_CONNECTTEXT,
- ATTR_PREFS_MODEM_VOICETEXT,
- ATTR_PREFS_MODEM_RINGTEXT,
- ATTR_PREFS_MODEM_BUSYTEXT,
- ATTR_PREFS_MODEM_OKTEXT,
- ATTR_PREFS_MODEM_ERRORTEXT,
- ATTR_PREFS_MODEM_REDIALDELAY,
- ATTR_PREFS_MODEM_DIALRETRIES,
- ATTR_PREFS_MODEM_DIALTIMEOUT,
- ATTR_PREFS_MODEM_CONNECTAUTOBAUD,
- ATTR_PREFS_MODEM_HANGUPDROPSDTR,
- ATTR_PREFS_MODEM_REDIALAFTERHANGUP,
- ATTR_PREFS_MODEM_VERBOSEDIALING,
- ATTR_PREFS_MODEM_NOCARRIERISBUSY,
- ATTR_PREFS_MODEM_CONNECTLIMIT,
- ATTR_PREFS_MODEM_CONNECTLIMITMACRO,
- ATTR_PREFS_MODEM_TIME_TO_CONNECT,
- ATTR_PREFS_MODEM_DIAL_MODE,
- ATTR_PREFS_MODEM_INTER_DIAL_DELAY,
- ATTR_PREFS_MODEM_CHAR_SEND_DELAY,
- ATTR_PREFS_MODEM_DO_NOT_SEND_COMMANDS,
- ATTR_PREFS_MODEM_PBX_PREFIX,
- ATTR_PREFS_MODEM_PBX_MODE,
- ATTR_PREFS_COMMANDS,
- ATTR_PREFS_COMMANDS_STARTUPMACROTEXT,
- ATTR_PREFS_COMMANDS_LOGOFFMACROTEXT,
- ATTR_PREFS_COMMANDS_UPLOADMACROTEXT,
- ATTR_PREFS_COMMANDS_DOWNLOADMACROTEXT,
- ATTR_PREFS_COMMANDS_LOGINMACROTEXT,
- ATTR_PREFS_SCREEN,
- ATTR_PREFS_SCREEN_WINDOW_BORDER,
- ATTR_PREFS_SCREEN_SPLIT_STATUS,
- ATTR_PREFS_SCREEN_COLOURMODE,
- ATTR_PREFS_SCREEN_FONTNAME,
- ATTR_PREFS_SCREEN_FONTSIZE,
- ATTR_PREFS_SCREEN_MAKESCREENPUBLIC,
- ATTR_PREFS_SCREEN_SHANGHAIWINDOWS,
- ATTR_PREFS_SCREEN_BLINKING,
- ATTR_PREFS_SCREEN_FASTERLAYOUT,
- ATTR_PREFS_SCREEN_TITLEBAR,
- ATTR_PREFS_SCREEN_STATUSLINEMODE,
- ATTR_PREFS_SCREEN_USEWORKBENCH,
- ATTR_PREFS_SCREEN_PUBSCREENNAME,
- ATTR_PREFS_SCREEN_ONLINEDISPLAY,
- ATTR_PREFS_SCREEN_USEPENS,
- ATTR_PREFS_TERMINAL,
- ATTR_PREFS_TERMINAL_BELLMODE,
- ATTR_PREFS_TERMINAL_EMULATIONMODE,
- ATTR_PREFS_TERMINAL_FONTMODE,
- ATTR_PREFS_TERMINAL_SENDCRMODE,
- ATTR_PREFS_TERMINAL_SENDLFMODE,
- ATTR_PREFS_TERMINAL_RECEIVECRMODE,
- ATTR_PREFS_TERMINAL_RECEIVELFMODE,
- ATTR_PREFS_TERMINAL_NUMCOLUMNS,
- ATTR_PREFS_TERMINAL_NUMLINES,
- ATTR_PREFS_TERMINAL_KEYMAPNAME,
- ATTR_PREFS_TERMINAL_EMULATIONNAME,
- ATTR_PREFS_TERMINAL_FONTNAME,
- ATTR_PREFS_TERMINAL_FONTSIZE,
- ATTR_PREFS_TERMINAL_USETERMINALPROCESS,
- ATTR_PREFS_TERMINAL_AUTOSIZE,
- ATTR_PREFS_PATHS,
- ATTR_PREFS_PATHS_ASCIIUPLOADPATH,
- ATTR_PREFS_PATHS_ASCIIDOWNLOADPATH,
- ATTR_PREFS_PATHS_TEXTUPLOADPATH,
- ATTR_PREFS_PATHS_TEXTDOWNLOADPATH,
- ATTR_PREFS_PATHS_BINARYUPLOADPATH,
- ATTR_PREFS_PATHS_BINARYDOWNLOADPATH,
- ATTR_PREFS_PATHS_CONFIGPATH,
- ATTR_PREFS_PATHS_EDITORNAME,
- ATTR_PREFS_PATHS_HELPFILENAME,
- ATTR_PREFS_MISC,
- ATTR_PREFS_MISC_PRIORITY,
- ATTR_PREFS_MISC_BACKUPCONFIG,
- ATTR_PREFS_MISC_OPENFASTMACROPANEL,
- ATTR_PREFS_MISC_RELEASEDEVICE,
- ATTR_PREFS_MISC_OVERRIDEPATH,
- ATTR_PREFS_MISC_AUTOUPLOAD,
- ATTR_PREFS_MISC_SETARCHIVEDBIT,
- ATTR_PREFS_MISC_COMMENTMODE,
- ATTR_PREFS_MISC_TRANSFERICONS,
- ATTR_PREFS_MISC_CREATEICONS,
- ATTR_PREFS_MISC_SIMPLEIO,
- ATTR_PREFS_MISC_TRANSFER_PERFMETER,
- ATTR_PREFS_MISC_IOBUFFERSIZE,
- ATTR_PREFS_MISC_HIDE_UPLOAD_ICON,
- ATTR_PREFS_MISC_OVERWRITE_WARNING,
- ATTR_PREFS_MISC_ALERTMODE,
- ATTR_PREFS_MISC_REQUESTERMODE,
- ATTR_PREFS_MISC_REQUESTERWIDTH,
- ATTR_PREFS_MISC_REQUESTERHEIGHT,
- ATTR_PREFS_MISC_WAITSTRING,
- ATTR_PREFS_MISC_WAITDELAY,
- ATTR_PREFS_MISC_CONSOLEWINDOW,
- ATTR_PREFS_MISC_SUPPRESSOUTPUT,
- ATTR_PREFS_CLIPBOARD,
- ATTR_PREFS_CLIPBOARD_UNIT,
- ATTR_PREFS_CLIPBOARD_LINEDELAY,
- ATTR_PREFS_CLIPBOARD_CHARDELAY,
- ATTR_PREFS_CLIPBOARD_INSERTPREFIXTEXT,
- ATTR_PREFS_CLIPBOARD_INSERTSUFFIXTEXT,
- ATTR_PREFS_CLIPBOARD_TEXTPACING,
- ATTR_PREFS_CLIPBOARD_LINEPROMPT,
- ATTR_PREFS_CLIPBOARD_SENDTIMEOUT,
- ATTR_PREFS_CLIPBOARD_CONVERTLF,
- ATTR_PREFS_CAPTURE,
- ATTR_PREFS_CAPTURE_LOGACTIONS,
- ATTR_PREFS_CAPTURE_LOGCALLS,
- ATTR_PREFS_CAPTURE_LOGFILENAME,
- ATTR_PREFS_CAPTURE_MAXBUFFERSIZE,
- ATTR_PREFS_CAPTURE_BUFFER,
- ATTR_PREFS_CAPTURE_CONNECTAUTOCAPTURE,
- ATTR_PREFS_CAPTURE_AUTOCAPTUREDATE,
- ATTR_PREFS_CAPTURE_CAPTUREFILTER,
- ATTR_PREFS_CAPTURE_CAPTUREPATH,
- ATTR_PREFS_CAPTURE_CALLLOGFILENAME,
- ATTR_PREFS_CAPTURE_BUFFERSAVEPATH,
- ATTR_PREFS_CAPTURE_OPENBUFFERWINDOW,
- ATTR_PREFS_CAPTURE_OPENBUFFERSCREEN,
- ATTR_PREFS_CAPTURE_BUFFERSCREENPOSITION,
- ATTR_PREFS_CAPTURE_BUFFERWIDTH,
- ATTR_PREFS_CAPTURE_REMEMBER_BUFFERWINDOW,
- ATTR_PREFS_CAPTURE_REMEMBER_BUFFERSCREEN,
- ATTR_PREFS_CAPTURE_SEARCH_HISTORY,
- ATTR_PREFS_CAPTURE_CONVERTCHARACTERS,
- ATTR_PREFS_CAPTURE_BUFFERMODE,
- ATTR_PREFS_CAPTURE_BUFFERSAFETYMEMORY,
- ATTR_PREFS_FILE,
- ATTR_PREFS_FILE_TRANSFERPROTOCOLNAME,
- ATTR_PREFS_FILE_TRANSLATIONFILENAME,
- ATTR_PREFS_FILE_MACROFILENAME,
- ATTR_PREFS_FILE_CURSORFILENAME,
- ATTR_PREFS_FILE_FASTMACROFILENAME,
- ATTR_PREFS_EMULATION,
- ATTR_PREFS_EMULATION_IDENTIFICATION,
- ATTR_PREFS_EMULATION_CURSORMODE,
- ATTR_PREFS_EMULATION_NUMERICMODE,
- ATTR_PREFS_EMULATION_CURSORWRAP,
- ATTR_PREFS_EMULATION_LINEWRAP,
- ATTR_PREFS_EMULATION_INSERTMODE,
- ATTR_PREFS_EMULATION_NEWLINEMODE,
- ATTR_PREFS_EMULATION_FONTSCALEMODE,
- ATTR_PREFS_EMULATION_SCROLLMODE,
- ATTR_PREFS_EMULATION_DESTRUCTIVEBACKSPACE,
- ATTR_PREFS_EMULATION_SWAPBSDELETE,
- ATTR_PREFS_EMULATION_CURSORLOCKED,
- ATTR_PREFS_EMULATION_FONTLOCKED,
- ATTR_PREFS_EMULATION_NUMPADLOCKED,
- ATTR_PREFS_EMULATION_PRINTERENABLED,
- ATTR_PREFS_EMULATION_ANSWERBACKTEXT,
- ATTR_PREFS_EMULATION_CLS_RESETS_CURSOR,
- ATTR_PREFS_EMULATION_MAXSCROLL,
- ATTR_PREFS_EMULATION_MAXJUMP,
- ATTR_PREFS_EMULATION_WRAPLOCKED,
- ATTR_PREFS_EMULATION_STYLELOCKED,
- ATTR_PREFS_EMULATION_COLOURLOCKED,
- ATTR_PREFS_EMULATION_USEPENS,
- ATTR_PREFS_TRANSFER,
- ATTR_PREFS_TRANSFER_DEFAULT_LIBRARY,
- ATTR_PREFS_TRANSFER_ASCII_UPLOAD_LIBRARY,
- ATTR_PREFS_TRANSFER_INTERNAL_ASCII_UPLOAD,
- ATTR_PREFS_TRANSFER_ASCII_DOWNLOAD_LIBRARY,
- ATTR_PREFS_TRANSFER_INTERNAL_ASCII_DOWNLOAD,
- ATTR_PREFS_TRANSFER_QUIET_TRANSFER,
- ATTR_PREFS_TRANSFER_TEXT_UPLOAD_LIBRARY,
- ATTR_PREFS_TRANSFER_TEXT_DOWNLOAD_LIBRARY,
- ATTR_PREFS_TRANSFER_BINARY_UPLOAD_LIBRARY,
- ATTR_PREFS_TRANSFER_BINARY_DOWNLOAD_LIBRARY,
- ATTR_PREFS_TRANSFER_MANGLE_FILE_NAMES,
- ATTR_PREFS_TRANSFER_LINEDELAY,
- ATTR_PREFS_TRANSFER_CHARDELAY,
- ATTR_PREFS_TRANSFER_TEXTPACING,
- ATTR_PREFS_TRANSFER_LINEPROMPT,
- ATTR_PREFS_TRANSFER_SENDTIMEOUT,
- ATTR_PREFS_TRANSFER_STRIP_BIT_8,
- ATTR_PREFS_TRANSFER_IGNORE_DATA_PAST_ARNOLD,
- ATTR_PREFS_TRANSFER_TERMINATOR_CHAR,
- ATTR_PREFS_TRANSFER_ERROR_NOTIFY_COUNT,
- ATTR_PREFS_TRANSFER_ERROR_NOTIFY_WHEN,
- ATTR_PREFS_TRANSFER_OVERRIDEPATH,
- ATTR_PREFS_TRANSFER_SETARCHIVEDBIT,
- ATTR_PREFS_TRANSFER_COMMENTMODE,
- ATTR_PREFS_TRANSFER_TRANSFERICONS,
- ATTR_PREFS_TRANSFER_TRANSFER_PERFMETER,
- ATTR_PREFS_TRANSFER_HIDE_UPLOAD_ICON,
- ATTR_PREFS_TRANSFER_DEFAULT_TYPE,
- ATTR_PREFS_TRANSFER_DEFAULT_SEND_SIGNATURE,
- ATTR_PREFS_TRANSFER_DEFAULT_RECEIVE_SIGNATURE,
- ATTR_PREFS_TRANSFER_ASCII_UPLOAD_TYPE,
- ATTR_PREFS_TRANSFER_ASCII_UPLOAD_SIGNATURE,
- ATTR_PREFS_TRANSFER_ASCII_DOWNLOAD_TYPE,
- ATTR_PREFS_TRANSFER_ASCII_DOWNLOAD_SIGNATURE,
- ATTR_PREFS_TRANSFER_TEXT_UPLOAD_TYPE,
- ATTR_PREFS_TRANSFER_TEXT_UPLOAD_SIGNATURE,
- ATTR_PREFS_TRANSFER_TEXT_DOWNLOAD_TYPE,
- ATTR_PREFS_TRANSFER_TEXT_DOWNLOAD_SIGNATURE,
- ATTR_PREFS_TRANSFER_BINARY_UPLOAD_TYPE,
- ATTR_PREFS_TRANSFER_BINARY_UPLOAD_SIGNATURE,
- ATTR_PREFS_TRANSFER_BINARY_DOWNLOAD_TYPE,
- ATTR_PREFS_TRANSFER_BINARY_DOWNLOAD_SIGNATURE,
- ATTR_PREFS_TRANSFER_IDENTIFY_COMMAND,
- ATTR_PREFS_TRANSFER_EXPAND_BLANK_LINES,
- ATTR_PREFS_SPEECH,
- ATTR_PREFS_SPEECH_RATE,
- ATTR_PREFS_SPEECH_PITCH,
- ATTR_PREFS_SPEECH_FREQUENCY,
- ATTR_PREFS_SPEECH_SEXMODE,
- ATTR_PREFS_SPEECH_VOLUME,
- ATTR_PREFS_SPEECH_SPEECH,
- ATTR_PREFS_TRANSLATIONS,
- ATTR_PREFS_TRANSLATIONS_X,
- ATTR_PREFS_TRANSLATIONS_X_SEND,
- ATTR_PREFS_TRANSLATIONS_X_RECEIVE,
- ATTR_PREFS_FASTMACROS,
- ATTR_PREFS_FASTMACROS_COUNT,
- ATTR_PREFS_FASTMACROS_X,
- ATTR_PREFS_FASTMACROS_X_NAME,
- ATTR_PREFS_FASTMACROS_X_CODE,
- ATTR_PREFS_HOTKEYS,
- ATTR_PREFS_HOTKEYS_TERMSCREENTOFRONTTEXT,
- ATTR_PREFS_HOTKEYS_BUFFERSCREENTOFRONTTEXT,
- ATTR_PREFS_HOTKEYS_SKIPDIALENTRYTEXT,
- ATTR_PREFS_HOTKEYS_ABORTAREXX,
- ATTR_PREFS_HOTKEYS_COMMODITYPRIORITY,
- ATTR_PREFS_HOTKEYS_HOTKEYSENABLED,
- ATTR_PREFS_CURSORKEYS,
- ATTR_PREFS_CURSORKEYS_UPTEXT,
- ATTR_PREFS_CURSORKEYS_RIGHTTEXT,
- ATTR_PREFS_CURSORKEYS_DOWNTEXT,
- ATTR_PREFS_CURSORKEYS_LEFTTEXT,
- ATTR_PREFS_CURSORKEYS_SHIFT,
- ATTR_PREFS_CURSORKEYS_SHIFT_UPTEXT,
- ATTR_PREFS_CURSORKEYS_SHIFT_RIGHTTEXT,
- ATTR_PREFS_CURSORKEYS_SHIFT_DOWNTEXT,
- ATTR_PREFS_CURSORKEYS_SHIFT_LEFTTEXT,
- ATTR_PREFS_CURSORKEYS_ALT,
- ATTR_PREFS_CURSORKEYS_ALT_UPTEXT,
- ATTR_PREFS_CURSORKEYS_ALT_RIGHTTEXT,
- ATTR_PREFS_CURSORKEYS_ALT_DOWNTEXT,
- ATTR_PREFS_CURSORKEYS_ALT_LEFTTEXT,
- ATTR_PREFS_CURSORKEYS_CONTROL,
- ATTR_PREFS_CURSORKEYS_CONTROL_UPTEXT,
- ATTR_PREFS_CURSORKEYS_CONTROL_RIGHTTEXT,
- ATTR_PREFS_CURSORKEYS_CONTROL_DOWNTEXT,
- ATTR_PREFS_CURSORKEYS_CONTROL_LEFTTEXT,
- ATTR_PREFS_FUNCTIONKEYS,
- ATTR_PREFS_FUNCTIONKEYS_X,
- ATTR_PREFS_FUNCTIONKEYS_SHIFT,
- ATTR_PREFS_FUNCTIONKEYS_SHIFT_X,
- ATTR_PREFS_FUNCTIONKEYS_ALT,
- ATTR_PREFS_FUNCTIONKEYS_ALT_X,
- ATTR_PREFS_FUNCTIONKEYS_CONTROL,
- ATTR_PREFS_FUNCTIONKEYS_CONTROL_X,
- ATTR_PREFS_PROTOCOL,
- ATTR_PREFS_CONSOLE,
- ATTR_PREFS_SOUND,
- ATTR_PREFS_SOUND_BELLNAME,
- ATTR_PREFS_SOUND_CONNECTNAME,
- ATTR_PREFS_SOUND_DISCONNECTNAME,
- ATTR_PREFS_SOUND_GOODTRANSFERNAME,
- ATTR_PREFS_SOUND_BADTRANSFERNAME,
- ATTR_PREFS_SOUND_RINGNAME,
- ATTR_PREFS_SOUND_VOICENAME,
- ATTR_PREFS_SOUND_PRELOAD,
- ATTR_PREFS_SOUND_ERROR,
- ATTR_PREFS_SOUND_VOLUME
- };
-
-
- /**********************************************************************/
-
-
- /* How many characters we will keep in the scan buffer. */
-
- #define MAX_SCAN_SIZE 255
-
- typedef struct ParseContext
- {
- STRPTR pc_Arnie;
- WORD pc_CharsInBuffer,
- pc_ScanStep;
- UBYTE pc_SaveBuffer[MAX_SCAN_SIZE + 1];
-
- UBYTE pc_LineBuffer[BUFFER_LINE_MAX + 1];
- WORD pc_LineLen,
- pc_LineIndex;
-
- BOOLEAN pc_InSequence;
- } ParseContext;
-
-
- /**********************************************************************/
-
-
- /* Sound replay information. */
-
- struct SoundInfo
- {
- UBYTE Name[MAX_FILENAME_LENGTH];
-
- ULONG Rate,
- Length,
- Volume;
-
- APTR SoundData;
-
- APTR LeftData,
- RightData;
-
- Object *SoundObject;
- struct timeval SoundTime;
- };
-
-
- /**********************************************************************/
-
-
- /* Text buffer private data (render info & window). */
-
- typedef struct TextBufferInfo
- {
- UWORD Left,Top,
- Width,Height;
-
- struct Process *Buddy;
-
- struct Window *Window;
- struct Screen *Screen;
- struct Menu *BufferMenuStrip;
-
- BYTE BufferSignal;
- BOOLEAN BufferTerminated;
-
- struct RastPort *RPort;
-
- LONG NumBufferLines,
- NumBufferColumns,
- LastTopLine;
-
- struct DrawInfo *BufferDrawInfo;
- struct Image *BufferAmigaGlyph,
- *BufferCheckGlyph;
-
- struct TextFont *LocalFont;
-
- WORD LocalTextFontWidth,
- LocalTextFontHeight;
-
- struct TTextAttr LocalTextFont;
- UBYTE LocalTextFontName[MAX_FILENAME_LENGTH];
-
- struct TTextAttr LocalUserFont;
- UBYTE LocalUserFontName[MAX_FILENAME_LENGTH];
-
- LONG TopLine,
- DisplayedLines;
-
- BOOL SearchForward,
- IgnoreCase,
- WholeWords,
- NeedClipConversion;
-
- Object *Scroller,
- *UpArrow,
- *DownArrow;
-
- Object *UpImage,
- *DownImage;
-
- LONG ArrowWidth;
-
- UWORD *BufferLineOffsets,
- *BufferColumnOffsets;
-
- UWORD TitleFrontPen,
- TitleBackPen,
- TextFrontPen,
- TextBackPen;
-
- WORD OldColumn,
- OldLine,
- OldLength;
-
- LONG TitleOffset;
- LONG MaxPen;
- WORD RightBorderWidth;
-
- struct Screen *Parent;
-
- UBYTE TitleBuffer[100];
-
- struct MsgQueue *Queue;
- ULONG QueueMask;
-
- struct MarkerContext *Marker;
- BOOLEAN Interrupted;
- BYTE Pad[3];
-
- BOOL *pSearchForward;
- BOOL *pIgnoreCase;
- BOOL *pWholeWords;
- LONG *pTopLine;
- } TextBufferInfo;
-
-
- /**********************************************************************/
-
-
- /* The catalog data is stored in the following format. */
-
- struct CatCompArrayType
- {
- ULONG cca_ID;
- STRPTR cca_Str;
- };
-
-
- /**********************************************************************/
-
-
- #ifdef __GNUC__
- struct LaunchMsg;
- #endif /* __GNUC__ */
-
- /* This is what we can do. */
-
- enum { LAUNCH_Program,LAUNCH_RexxCmd,LAUNCH_RexxString };
-
- /* A callback routine to handle the cleanup work. */
-
- typedef VOID (*LAUNCHCLEANUP)(struct LaunchMsg *Message);
-
- typedef struct LaunchMsg
- {
- struct Message Message; /* Standard message header. */
-
- WORD Type; /* What type of command this message implements. */
-
- struct RexxPkt *RexxPkt; /* An ARexx interface command packet. */
-
- LONG Result; /* Primary result code. */
- LONG Result2; /* Secondary result code. */
-
- LAUNCHCLEANUP Cleanup; /* A cleanup routine that gets call when all the work is done. */
-
- UBYTE Command[1]; /* The command to execute, if any. */
- } LaunchMsg;
-
-
- /**********************************************************************/
-
-
- #ifdef __GNUC__
- struct JobNode;
- struct JobQueue;
- #endif /* __GNUC__ */
-
- typedef BOOL (*JOBFUNCTION)(struct JobNode *);
-
- typedef ULONG (*JOBQUEUEWAIT)(struct JobQueue *);
-
- /* The job types supported. */
-
- enum { JOBTYPE_Once,JOBTYPE_Always,JOBTYPE_Disposable,JOBTYPE_Wait };
-
- typedef struct JobNode
- {
- struct Node Node; /* Link and name. */
- WORD Type; /* Job type. */
- BOOL Active; /* Whether or not this job is currently active. */
-
- struct JobQueue *HomeQueue; /* In which queue to find this job. */
-
- JOBFUNCTION Function; /* The function to invoke. */
- JOBFUNCTION SubFunction; /* If necessary, the function invoked by
- * the default entry point.
- */
- ULONG Mask; /* Signal to wait for. */
- } JobNode;
-
- typedef struct JobQueue
- {
- struct MinList ReadyList; /* List of jobs ready for execution. */
-
- ULONG ReadyMask; /* Signal mask to wait for events. */
- LONG OnceCounter; /* Number of jobs to call once only. */
-
- JobNode *NextJob; /* The next job to execute. */
-
- JOBQUEUEWAIT QueueWait; /* The routine to wait for events to happen. */
-
- struct SignalSemaphore AccessLock; /* Access lock for this data structure. */
- } JobQueue;
-
- /* To initialize the jobs from scratch. */
-
- struct JobInitStruct
- {
- STRPTR Name; /* Name of this job, if any. */
- JobNode ** Node; /* The node to initialize. */
- JOBFUNCTION Function; /* The function to invoke. */
- WORD Type; /* The job type. */
- };
-
- /**********************************************************************/
-
- /* For LimitedVSprintf() and friends. */
-
- struct FormatContext
- {
- STRPTR Index;
- LONG Size;
- };
-
- /**********************************************************************/
-
- enum
- {
- MARKERASK_Clipped,
- MARKERASK_Scroll
- };
-
- /* Ask for the mouse position to be converted into a line and column index. */
-
- typedef VOID (*MARKER_AskPosition)(struct MarkerContext *Context,LONG *Column,LONG *Line,WORD Mode);
-
- /* Scroll the visible region. */
-
- typedef VOID (*MARKER_Scroll)(struct MarkerContext *Context,LONG DeltaX,LONG DeltaY);
-
- /* Highlight a line of text between the "Left" and "Right" column (inclusive).
- * If both parameters are < 0 the entire line should be highlighted.
- */
-
- typedef VOID (*MARKER_Highlight)(struct MarkerContext *Context,LONG Line,LONG Left,LONG Right);
-
- /* Transfer the buffer contents line by line. */
-
- typedef APTR (*MARKER_TransferStartStop)(struct MarkerContext *Context,APTR UserData,ULONG Qualifier);
- typedef BOOL (*MARKER_Put)(APTR UserData,STRPTR Buffer,LONG Length);
- typedef BOOL (*MARKER_Transfer)(struct MarkerContext *Context,LONG Line,LONG Left,LONG Right,MARKER_Put Put,APTR UserData);
- typedef BOOL (*MARKER_PickWord)(struct MarkerContext *Context,LONG Left,LONG Top,LONG *WordLeft,LONG *WordRight);
-
- typedef struct MarkerContext
- {
- LONG FirstVisibleLine, /* The first line visible on the screen. */
- NumVisibleLines; /* The number of lines visible on the screen. */
- LONG NumLines; /* The number of text lines in the buffer. */
-
- LONG FirstVisibleColumn, /* The first column visible on the screen. */
- NumVisibleColumns; /* The number of columns visible on the screen. */
- LONG NumColumns; /* The number of text columns used by the buffer. */
-
- LONG AnchorColumn, /* The current marker anchor position on the anchor line. */
- AnchorLine; /* The line on which the marker is anchored. */
-
- LONG CurrentColumn, /* This is where the mouse pointer currently is. */
- CurrentLine;
-
- LONG FirstFullLine, /* The first and the last line that is completely highlighted. */
- LastFullLine;
-
- LONG FirstPartialLine, /* The first line that has text marked in it. */
- FirstPartialLeft, /* The first column in which text is marked (inclusive). */
- FirstPartialRight; /* The last column in which text is marked (inclusive). */
-
- LONG LastPartialLine, /* The last line that has text marked in it. */
- LastPartialLeft, /* The first column in which text is marked (inclusive). */
- LastPartialRight; /* The last column in which text is marked (inclusive). */
-
- LONG Direction; /* If -1, user is dragging the mouse towards the top left corner,
- * otherwise user is dragging the mouse towards the bottom right corner.
- */
-
- /* Ask for the mouse position to be converted into a line and column index. */
-
- MARKER_AskPosition AskPosition;
-
- /* Scroll the visible region. */
-
- MARKER_Scroll Scroll;
-
- /* Highlight a line of text between the "Left" and "Right" column (inclusive).
- */
-
- MARKER_Highlight Highlight;
-
- /* Unhighlight a line of text between the "Left" and "Right" column (inclusive).
- */
-
- MARKER_Highlight Unhighlight;
-
- /* Prepare for data transfer or clean up after the transfer. */
-
- MARKER_TransferStartStop TransferStartStop;
-
- /* Transfer the contents of a buffer line. */
-
- MARKER_Transfer Transfer;
-
- /* Called by the Transfer function. */
-
- MARKER_Put Put;
- MARKER_Put PutLine;
-
- /* Pick the word at the given position. */
-
- MARKER_PickWord PickWord;
-
- /* User defined data. */
-
- APTR UserData;
- } MarkerContext;
-
- /**********************************************************************/
-
- /* And now for something completely different... */
-
- #ifndef _PROTOS_H
- #include "Protos.h"
- #endif /* _PROTOS_H */
-
- #ifndef _DATA_H
- #include "Data.h"
- #endif /* _DATA_H */
-
- #ifndef _ERRORS_H
- #include "Errors.h"
- #endif /* _ERRORS_H */
-
- #endif /* _GLOBAL_H */
-