@MACROS@ that can be used (almost) everywhere in YAK :

These are directly from src/output.c, could someone write real descriptions
for these? :)

    { "CR", TYPE_STR, CR_str },
    { "C", TYPE_STR, PLAIN_CR_str },
    { "OS", TYPE_STR, OP_SYSTEM },
    { "VER", TYPE_STR, BBS_VERSION },
    { "TIME", TYPE_FUNC, &time_func },
    { "TMP1", TYPE_STR, tmp1_str },
    { "TMP2", TYPE_STR, tmp2_str },
    { "NUM1", TYPE_LONG, &num1 },
    { "NUM2", TYPE_LONG, &num2 },
    { "NUM3", TYPE_LONG, &num3 },
    { "NUM4", TYPE_LONG, &num4 },
    { "NUM5", TYPE_LONG, &num5 },
    { "TIME_LEFT", TYPE_INT, &time_left },
    { "FILE_NAME", TYPE_STRP, &frec.name },
    { "FILE_DATE", TYPE_STR, frec.date },
    { "FILE_SIZE", TYPE_LONG, &frec.size },
    { "FILE_DOWNS", TYPE_SHORT, &frec.downs },
    { "TEMP_FAREA_NAME", TYPE_STR, hold_farea.name },
    { "TEMP_FAREA_PATH", TYPE_STR, hold_farea.path },
    { "TEMP_FAREA_DESC", TYPE_STR, hold_farea.description },
    { "FAREA_NAME", TYPE_STR, farea.name },
    { "FAREA_PATH", TYPE_STR, farea.path },
    { "FAREA_DESC", TYPE_STR, farea.description },
    { "FAREA_HISTORY", TYPE_STR, farea_history },
    { "MAREA_NUM", TYPE_LONG, &msg_area.number },
    { "MAREA_NAME", TYPE_STR, msg_area.name },
    { "MAREA_PATH", TYPE_STR, msg_area.path },
    { "MAREA_DESC", TYPE_STR, msg_area.description },
    { "THREAD_NUM", TYPE_LONG, &cur_thread_num },
    { "THREAD_NAME", TYPE_STR, cur_thread_name },
    { "THREAD_RESTR", TYPE_STR, cur_thread_restr },
    { "MSG_FROM", TYPE_STR, msg_from },
    { "MSG_TO", TYPE_STR, msg_to },
    { "MSG_SUBJ", TYPE_STR, msg_subj },
    { "MSG_NUM", TYPE_LONG, &msg_num },
    { "MSG_DATE", TYPE_FUNC, msgdate_func },
    { "MSG_LINES", TYPE_LONG, &msg_txtlines },
    { "ANSWER", TYPE_STR, answer },
    { "PARMS", TYPE_STR, parms },
    { "NODE", TYPE_INT, &nodenum },
    { "PORT", TYPE_STR, devname },
    { "HANDLE", TYPE_LONG, &hCom },
    { "BPSRATE", TYPE_LONG, &bpsrate },
    { "USER_NAME", TYPE_STR, usrsub.name },
    { "USER_ALIAS", TYPE_STR, usrsub.alias },
    { "USER_ADDR1", TYPE_STR, usrsub.address1 },
    { "USER_ADDR2", TYPE_STR, usrsub.address2 },
    { "USER_ADDR3", TYPE_STR, usrsub.address3 },
    { "USER_ADDR4", TYPE_STR, usrsub.address4 },
    { "USER_ADDR5", TYPE_STR, usrsub.address5 },
    { "USER_VOICE", TYPE_STR, usrsub.voice },
    { "USER_DATA", TYPE_STR, usrsub.data },
    { "USER_CITY", TYPE_STR, usrsub.city },
    { "USER_BIRTHDAY", TYPE_STR, usrsub.birthday },
    { "USER_SCRLEN", TYPE_BYTE, &user.ScreenLen },
    { "USER_SCRWIDTH", TYPE_BYTE, &user.ScreenWidth },
    { "USER_FIRSTTIME", TYPE_DATE, &user.FirstTime },
    { "USER_LASTTIME1", TYPE_DATE, &user.LastTime[0] },
    { "USER_LASTTIME2", TYPE_DATE, &user.LastTime[1] },
    { "USER_LASTTIME3", TYPE_DATE, &user.LastTime[2] },
    { "USER_LASTTIME4", TYPE_DATE, &user.LastTime[3] },
    { "USER_LASTTIME5", TYPE_DATE, &user.LastTime[4] },
    { "USER_CALLS", TYPE_LONG, &user.TotalCalls },
    { "USER_MINS", TYPE_LONG, &user.TotalMinutes },
    { "USER_PAGES", TYPE_LONG, &user.TotalPages },
    { "USER_UPBYTES", TYPE_LONG, &user.UploadBytes },
    { "USER_UPFILES", TYPE_LONG, &user.UploadFiles },
    { "USER_DOWNBYTES", TYPE_LONG, &user.DownloadBytes },
    { "USER_DOWNFILES", TYPE_LONG, &user.DownloadFiles },
    { "USER_TODAYCALLS", TYPE_LONG, &user.TodayCalls },
    { "USER_TODAYMINS", TYPE_LONG, &user.TodayMinutes },
    { "USER_TODAYPAGES", TYPE_LONG, &user.TodayPages },
    { "USER_TODAYUPBYTES", TYPE_LONG, &user.TodayUploadBytes },
    { "USER_TODAYUPFILES", TYPE_LONG, &user.TodayUploadFiles },
    { "USER_TODAYDOWNBYTES", TYPE_LONG, &user.TodayDownloadBytes },
    { "USER_TODAYDOWNFILES", TYPE_LONG, &user.TodayDownloadFiles },
    { "USER_PROTOCOL", TYPE_CHAR, &user.Protocol },
    { "USER_EDITOR", TYPE_CHAR, &user.Editor },
    { "USER_PACKER", TYPE_CHAR, &user.Packer },
    { "USER_CHARSET", TYPE_CHAR, &user.CharSet },
    { "USER_CHARSET_NAME", TYPE_STR, current_charset },
    { "USER_LANGUAGE", TYPE_CHAR, &user.Language },
    { "USER_EMULATION", TYPE_CHAR, &user.Emulation },
    { "USER_EMULATION_NAME", TYPE_STR, current_emulation },
    { "USER_VT100KEYB", TYPE_FUNC, vt100_func },
    { "WHO_NAME", TYPE_STR, noderec.name },
    { "WHO_CITY", TYPE_STR, noderec.city },
    { "WHO_LOGIN", TYPE_TIME, &noderec.login },
    { "WHO_BPS", TYPE_LONG, &noderec.BPS },
    { "WHO_DOING", TYPE_FUNC, who_doing_func },
    { "LAST_NODE", TYPE_SHORT, &lastrec.node },
    { "LAST_NAME", TYPE_STR, lastrec.name },
    { "LAST_ALIAS", TYPE_STR, lastrec.alias },
    { "LAST_CITY", TYPE_STR, lastrec.city },
    { "LAST_BPSRATE", TYPE_LONG, &lastrec.bpsrate },
    { "LAST_LOGIN", TYPE_TIME, &lastrec.login },
    { "LAST_LOGOFF", TYPE_TIME, &lastrec.logoff },
    { "LAST_DONE", TYPE_FUNC, last_done_func },
    { "PACKER_NAME", TYPE_STR, user_packer.name },
    { "PACKER_KEY", TYPE_CHAR, &user_packer.key },
    { "PACKER_ID", TYPE_STR, user_packer.id },
    { "PACKER_PACK", TYPE_STRP, &user_packer.pack },
    { "PACKER_UNPACK", TYPE_STRP, &user_packer.unpack },
    { "PROTO_NAME", TYPE_STR, user_proto.name },
    { "PROTO_KEY", TYPE_CHAR, &user_proto.key },
    { "PROTO_EFFICIENCY", TYPE_INT, &user_proto.efficiency },
    { "PROTO_DOWNLOAD", TYPE_STRP, &user_proto.download },
    { "PROTO_UPLOAD", TYPE_STRP, &user_proto.upload },
    { "PROTO_DLCHAR", TYPE_CHAR, &user_proto.dlchar },
    { "LANG_NAME", TYPE_STR, user_lang.name },
    { "LANG_KEY", TYPE_CHAR, &user_lang.key },
    { "LANG_FNAME", TYPE_STRP, &user_lang.fname },
    { "ANSIPATH", TYPE_STRP, &user_lang.ansipath },
    { "MENUPATH", TYPE_STRP, &user_lang.menupath },
    { "MAINMENU", TYPE_STRP, &user_lang.mainmenu },

    /* "commands" */
    { "CLR", TYPE_FUNC, clrscr_func },
    { "CLREOL", TYPE_FUNC, clreol_func },
    { "LEFT", TYPE_FUNC2, left_func },
    { "RIGHT", TYPE_FUNC2, right_func },
    { "UP", TYPE_FUNC2, cup_func },
    { "DOWN", TYPE_FUNC2, cdown_func },
    { "GOTO", TYPE_FUNC2, goto_func },
    { "SCROLL_DOWN", TYPE_FUNC2, scroll_down_func },
    { "SCROLL_UP", TYPE_FUNC2, scroll_up_func },
    { "INSCHR", TYPE_FUNC2, inschar_func },
    { "DELCHR", TYPE_FUNC2, delchar_func },
    { "INSLINE", TYPE_STR, insline_str },
    { "DELLINE", TYPE_STR, delline_str },
    { "BAR", TYPE_FUNC2, bar_func },
    { "MON", TYPE_STR, "\x02" },
    { "MOFF", TYPE_STR, "\x03" },
    { "SCOL", TYPE_STR, "\x04" },
    { "RCOL", TYPE_FUNC, restcol_func },
